我正在尝试处理单数/复数查询。这是text_general类型架构
<fieldType name="text_general" class="solr.TextField" positionIncrementGap="100" multiValued="true">
<analyzer type="index">
<tokenizer class="solr.StandardTokenizerFactory"/>
<filter class="solr.StopFilterFactory" ignoreCase="true" words="stopwords.txt" />
<filter class="solr.SynonymFilterFactory" synonyms="synonyms.txt" ignoreCase="true" expand="true"/>
<filter class="solr.StopFilterFactory" ignoreCase="true" words="stopwords.txt" />
<filter class="solr.LowerCaseFilterFactory"/>
<filter class="solr.PorterStemFilterFactory"/>
</analyzer>
<analyzer type="query">
<tokenizer class="solr.StandardTokenizerFactory"/>
<filter class="solr.StopFilterFactory" ignoreCase="true" words="stopwords.txt" />
<filter class="solr.SynonymFilterFactory" synonyms="synonyms.txt" ignoreCase="true" expand="true"/>
<filter class="solr.StopFilterFactory" ignoreCase="true" words="stopwords.txt" />
<filter class="solr.LowerCaseFilterFactory"/>
<filter class="solr.PorterStemFilterFactory"/>
</analyzer>
</fieldType>
仍然是&#34; mobile&#34;的查询结果和&#34;手机&#34;是不同的。 任何帮助将不胜感激。谢谢。
答案 0 :(得分:1)
使用solr.EnglishMinimalStemFilterFactory
进行令牌过滤。
将此过滤器<filter class="solr.EnglishMinimalStemFilterFactory" />
添加到您的分析器类型=&#34;查询&#34;并检查分析页面。
&#34;移动台&#34;将成为&#34;移动&#34;
可以为索引做同样的事情。
希望这有帮助