我正在尝试使用Apache Lucene对Phrase“Grand Prarie”(故意拼写错误)进行模糊匹配。我的部分问题是~
运算符只对单个单词术语进行模糊匹配,并且表现为短语的邻近匹配。
有没有办法用lucene对短语进行模糊匹配?
答案 0 :(得分:5)
Lucene 3.0有ComplexPhraseQueryParser支持模糊短语查询。这是在contrib包中。
答案 1 :(得分:2)
没有对模糊短语的直接支持,但您可以通过显式enumerating the fuzzy terms进行模拟,然后将其添加到MultiPhraseQuery。生成的查询看起来像:
<MultiPhraseQuery: "grand (prarie prairie)">
答案 2 :(得分:1)
通过Google遇到这个问题并感受到解决方案,而不是我追求的目标。 就我而言,解决方案是简单地针对solr API重复搜索序列。 所以例如,如果我正在寻找:title_t包括匹配“dog~”和“cat~”,我添加了一些手动代码来生成查询:
((title_t:dog~) and (title_t:cat~))
可能只是上面的查询,但链接似乎已经死了。