在Solr中处理具有单数/复数特征的查询

时间:2016-08-30 12:07:47

标签: solr stemming

我正在尝试处理单数/复数查询。这是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;是不同的。 任何帮助将不胜感激。谢谢。

1 个答案:

答案 0 :(得分:1)

使用solr.EnglishMinimalStemFilterFactory进行令牌过滤。

将此过滤器<filter class="solr.EnglishMinimalStemFilterFactory" />添加到您的分析器类型=&#34;查询&#34;并检查分析页面。

&#34;移动台&#34;将成为&#34;移动&#34;

可以为索引做同样的事情。

希望这有帮助