2013-11-25 71 views
0

我正在使用solr-4.5.1。我需要进行模糊搜索,并且正在通过在单词的末尾添加“〜”来进行开发。现在我需要与空间进行模糊匹配。例如,我需要通过“BillGates”搜索“Bill Gates”。任何人都可以帮忙。Solr无模糊搜索空间

回答

1

您能否介绍一下您的问题?你的查询是什么?你想让这个查询匹配什么可能的匹配?

顺便说一下“A B”〜不是模糊查询,它是近似查询。例如“蝙蝠侠电影”~100是在“电影”的100个单词内找到“蝙蝠侠”出现的所有文件。

要进行模糊搜索,请使用单尾字末尾的代字号“〜”。例如,要搜索一个拼写类似于“漫游”使用模糊搜索一个术语:

漫游〜

所以存在着巨大的差异。

这里更多:http://lucene.apache.org/core/2_9_4/queryparsersyntax.html

编辑:

这就是你需要做什么: 使用text_en_splitting您的字段类型,例如:

<field name="names" type="text_en_splitting" indexed="true" stored="true"/> 

并重新索引你的数据,这将匹配您的查询。无需为此模糊匹配。 玩它,看看你的查询如何工作。神奇是由标记器完成的,在这个重要的solr.WordDelimiterFilterFactory。

你可以阅读更多关于断词在这里:

http://wiki.apache.org/solr/AnalyzersTokenizersTokenFilters 
+0

这里是我的problem.Solr存储值“AVIA导入”。我通过使用查询http:// localhost:8983/solr/collection1/spell?q =%22AVIA%20IMPORT%22得到了结果。但我需要用一个字搜索它。像下面的query.http:// localhost:8983/solr/collection1/spell?q =%22AVIAIMPORT%22。 – fawas

+0

在编辑中查看我上面的回复。 – Arun