6

我正在尝试使用 Apache Lucene 对短语“Grand Prarie”(故意拼写错误)进行模糊匹配。我的部分问题是~运算符仅对单个单词进行模糊匹配,并且表现为短语的邻近匹配。

有没有办法用 lucene 对短语进行模糊匹配?

4

3 回答 3

7

Lucene 3.0 具有支持模糊短语查询的ComplexPhraseQueryParser 。这是在 contrib 包中。

于 2010-04-07T06:37:18.080 回答
4

通过 Google 发现了这一点,并感受到了我所追求的解决方案。就我而言,解决方案是简单地针对 solr API 重复搜索序列。因此,例如,如果我正在寻找:title_t 以包含“dog~”和“cat~”的匹配项,我添加了一些手动代码来生成查询:

((title_t:dog~) and (title_t:cat~))

这可能只是上述查询的内容,但链接似乎已死。

于 2013-06-02T18:25:52.830 回答
3

没有直接支持模糊短语,但您可以通过显式枚举模糊术语然后将它们添加到MultiPhraseQuery来模拟它。结果查询如下所示:

<MultiPhraseQuery: "grand (prarie prairie)">
于 2010-04-07T01:03:06.293 回答