如何创建lucene查询



我正在编写一些代码,需要在搜索字符串中包含所有单词,例如"Apple is red"。我目前正在使用MultiFieldQueryParser,但搜索查询将是(标题:"apple?red"body:"apple?red"(。我希望查询看起来完全是字符串应该是什么。"apple?red"应该变成"apple is red"。我该怎么做?

您的查询看起来是正确的。输出中的问号表示位置增量,但不表示查询中的实际术语。

单词"is"由StandardAnalyzer从查询和索引中删除,因为它是默认停止字集中的一个停止字。StopFilter删除这些术语,但增加位置以指示该术语被删除的位置,从而实现与短语查询的更紧密匹配。

除非您看到查询的结果有问题,否则它似乎没有任何问题。

最新更新