我正在尝试使用 Apache Lucene 对短语“Grand Prarie”(故意拼写错误)进行模糊匹配。我的部分问题是~
运算符仅对单个单词进行模糊匹配,并且表现为短语的邻近匹配。
有没有办法用 lucene 对短语进行模糊匹配?
我正在尝试使用 Apache Lucene 对短语“Grand Prarie”(故意拼写错误)进行模糊匹配。我的部分问题是~
运算符仅对单个单词进行模糊匹配,并且表现为短语的邻近匹配。
有没有办法用 lucene 对短语进行模糊匹配?
Lucene 3.0 具有支持模糊短语查询的ComplexPhraseQueryParser 。这是在 contrib 包中。
通过 Google 发现了这一点,并感受到了我所追求的解决方案。就我而言,解决方案是简单地针对 solr API 重复搜索序列。因此,例如,如果我正在寻找:title_t 以包含“dog~”和“cat~”的匹配项,我添加了一些手动代码来生成查询:
((title_t:dog~) and (title_t:cat~))
这可能只是上述查询的内容,但链接似乎已死。
没有直接支持模糊短语,但您可以通过显式枚举模糊术语然后将它们添加到MultiPhraseQuery来模拟它。结果查询如下所示:
<MultiPhraseQuery: "grand (prarie prairie)">