我正在尝试使用Apache Lucene在短语“Grand Prarie”(故意拼写错误)上进行模糊匹配。我的问题的一部分是,~
运营商只对单个词语进行模糊匹配,并且表现为短语的邻近匹配。Lucene模糊匹配短语而不是单个单词
有没有办法用lucene对短语进行模糊匹配?
我正在尝试使用Apache Lucene在短语“Grand Prarie”(故意拼写错误)上进行模糊匹配。我的问题的一部分是,~
运营商只对单个词语进行模糊匹配,并且表现为短语的邻近匹配。Lucene模糊匹配短语而不是单个单词
有没有办法用lucene对短语进行模糊匹配?
Lucene 3.0有ComplexPhraseQueryParser支持模糊短语查询。这是在contrib包中。
对模糊短语没有直接支持,但可以通过明确地enumerating the fuzzy terms进行模拟,然后将它们添加到MultiPhraseQuery。得到的查询如下所示:
<MultiPhraseQuery: "grand (prarie prairie)">
通过谷歌来到这里,并感受到解决方案,而不是我在之后。 在我的情况下,解决方案是简单地重复搜索序列对solr API。 因此,举例来说,如果我一直在寻找:title_t包括比赛为“狗〜”和“猫〜”,我加了一些手工代码来生成查询为:
((title_t:dog~) and (title_t:cat~))
这可能只是什么上面查询是关于,但是链接似乎死了。
这就是我需要:)谢谢 – Oyeme 2015-08-19 12:58:01
+1。要走的路线 – Yaroslav 2010-04-07 06:22:00
您能详细解释一下吗?我没有直接使用Lucene,而是通过Solr。 我可能不得不在阅读lucene的时候才行。我不介意更好地理解这两者如何协同工作,并在更基本的层面上适应它。 现在,在Solr中,我使用solr.PhoneticFilterFactory分析器实现了足够有效的功能。 – Koobz 2010-04-08 05:06:26