我正在尝试使用 MultiFieldQueryParser 执行以下搜索:
内容:hello world 优先级:高
也就是说,我仅想查看返回的包含“hello”和“world”单词且优先级为“high”的文档。 MultiFieldQueryParser 的默认行为似乎返回包含内容的任何内容:hello world 或优先级:高 - 我不知道如何更改它。
有什么建议吗?
最佳答案
当您想要跨多个字段搜索术语时,可以使用 MultiFieldQuery。您正在寻找的是一个带有两个子句的简单 boolean 查询。如下查询应该可以工作。
+(+contents:hello +contents:world) +priority:high
这里有一个带有 to Occur.MUST 子句的 boolean 查询,其中一个是包含两个子句的 boolean 查询,另一个是术语查询。
关于java - 使用 Lucene MultiFieldQueryParser 处理多个必填字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5035782/