这是我的Solr字段类型
<fieldType name="company_name" class="solr.TextField" positionIncrementGap="100">
<analyzer type="index">
<tokenizer class="solr.StandardTokenizerFactory"/>
<filter class="solr.StopFilterFactory" ignoreCase="true" words="stopwords.txt" />
<filter class="solr.LowerCaseFilterFactory"/>
</analyzer>
<analyzer type="query">
<tokenizer class="solr.ClassicTokenizerFactory"/>
<filter class="solr.StopFilterFactory" ignoreCase="true" words="stopwords.txt" />
<filter class="solr.LowerCaseFilterFactory"/>
</analyzer>
</fieldType>
如果我需要查找字段company_name等于“Abibas Sports”的文档,则查询fq=company_name:Abibas Sport
和fq=company_name:Abibas Sports
会返回完全不同的结果。最合适的情况是fq=company_name:Abibas Sport
。
如何修复单词末尾的字符 s 的问题。每种情况下结果必须相同。
首先查询:
第二次查询:
答案 0 :(得分:0)
尝试使用solr.PorterStemFilterFactory
Porter stemmer用于英语。
它是一个标准化过程,可以从单词中删除常见的结尾。
Example: "riding", "rides", "horses" ==> "ride", "ride", "hors".
在您的情况下,Sports
将Sport