2010-04-06 57 views
5

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

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

回答

2

对模糊短语没有直接支持,但可以通过明确地enumerating the fuzzy terms进行模拟,然后将它们添加到MultiPhraseQuery。得到的查询如下所示:

<MultiPhraseQuery: "grand (prarie prairie)"> 
+0

+1。要走的路线 – Yaroslav 2010-04-07 06:22:00

+2

您能详细解释一下吗?我没有直接使用Lucene,而是通过Solr。 我可能不得不在阅读lucene的时候才行。我不介意更好地理解这两者如何协同工作,并在更基本的层面上适应它。 现在,在Solr中,我使用solr.PhoneticFilterFactory分析器实现了足够有效的功能。 – Koobz 2010-04-08 05:06:26

1

通过谷歌来到这里,并感受到解决方案,而不是我在之后。 在我的情况下,解决方案是简单地重复搜索序列对solr API。 因此,举例来说,如果我一直在寻找:title_t包括比赛为“狗〜”和“猫〜”,我加了一些手工代码来生成查询为:

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

这可能只是什么上面查询是关于,但是链接似乎死了。

+0

这就是我需要:)谢谢 – Oyeme 2015-08-19 12:58:01

相关问题