具有外空间的Solr模糊搜索

时间:2013-11-25 04:36:50

标签: solr lucene fuzzy-search

我正在使用solr-4.5.1。我需要进行模糊搜索,并且通过在单词末尾附加'〜'来进行操作。现在我需要与空间进行模糊匹配。例如,我需要通过“BillGates”搜索“比尔盖茨”。任何人都可以提供帮助。

1 个答案:

答案 0 :(得分: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完成。

您可以在此处阅读有关tokenizer的更多信息:

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