Solr查询包含字母和数字的单词

时间:2015-03-11 18:07:47

标签: solr solrnet

我的客户有几个常用的搜索关键字,包含字母和数字:

M4
M12
M18
M28

当现在在Solr中搜索这些内容时,它们会被标记为完整字符串和字母M以及数字,因此如果有人搜索M12,则会执行搜索在M12M12

阻止此操作的最佳方法是什么,以便只搜索M12

编辑:想想我应该为字段的类型包含tokenizer / filter配置,所以这里是:

<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" />

1 个答案:

答案 0 :(得分:1)

原来解决方案非常简单。 Alex的评论帮助我实现了目标,但我最终只修改了分隔符过滤器,设置splitOnNumerics=0

<filter class="solr.WordDelimiterFilterFactory" preserveOriginal="1" splitOnNumerics="0" />