【发布时间】:2015-03-12 03:53:34
【问题描述】:
我的客户有几个常用搜索关键字,其中包含字母和数字:
M4
M12
M18
M28
当现在在 Solr 中搜索这些时,它们将被标记为完整字符串和字母 M 以及数字,因此如果有人搜索 M12,则搜索将在 M 上执行、12 和 M12。
防止这种情况的最佳方法是什么,所以它只搜索M12?
编辑:我想我应该包括字段类型的标记器/过滤器配置,所以它是:
<tokenizer class="solr.WhitespaceTokenizerFactory"/>
<filter class="solr.WordDelimiterFilterFactory" preserveOriginal="1" />
<filter class="solr.StopFilterFactory" ignoreCase="true" words="stopwords.txt" />
<filter class="solr.SynonymFilterFactory" synonyms="synonyms.txt" ignoreCase="true" expand="true"/>
<filter class="solr.LowerCaseFilterFactory" />
<filter class="solr.SnowballPorterFilterFactory" language="English" />
【问题讨论】:
-
我想你只需要取出单词分隔符过滤器。也许使用内置的
type="string"定义您的字段,而不是调用此自定义类型。