java - Lucene 不适用于 MUSTNOT 布尔查询
问题描述
我为一组数据创建了一个 lucene 索引,并试图从中检索结果。
当我使用SHOULD进行布尔查询时,lucene 会返回我预期的结果。
eg: (title:"america")
但另一方面,当我执行MUST_NOT查询时,即使有很多数据满足此条件,它也会返回空结果。
(-title:"america")
我想我犯了一些愚蠢的错误,但到目前为止还无法弄清楚。有人可以指点一下。
解决方案
明白了这个问题。我应该将 MUSt NoT 与其他一些运算符结合起来。
在术语前面放置 NOT 会排除与以下术语匹配的文档。否定一个术语必须与至少一个非否定术语结合才能返回文档;换句话说,不可能使用 NOT term 之类的查询来查找所有不包含术语的文档。
推荐阅读
- r - 为每个组创建增量索引,以其他列为条件开始行
- ms-access - 在 MS Access 中捕获错误
- java - Apache Commons Imaging - 将 tiff 转换为 jpg
- reactive-programming - ReactiveFeignClient - 如何在没有身份验证的情况下将标头从控制器传播到客户端
- windows - Windows 警报:错误的 pin 输入太多次,请输入 A1B2C3
- ios - Xcode 更改动态框架 Product Module Name
- android - Kotlin:类型不匹配:推断类型是 Intent?但意图是预期的
- r - 如何在 R 中命名 map_dfc() 的列?
- c - 如何重新扫描 m4 数据以进行递归宏就地替换
- python - 使用python从字符串中删除子字符串