在 Solr 中使用 singular/plural 功能处理查询

Handling queries with singular/plural feature in Solr

我正在尝试处理 singular/plural 查询。这是 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>

还是"mobile"和"mobiles"的查询结果不一样。 任何帮助将不胜感激。谢谢。

使用 solr.EnglishMinimalStemFilterFactory 作为标记过滤器。

将此过滤器<filter class="solr.EnglishMinimalStemFilterFactory" /> 添加到您的分析器类型="query" 并签入分析页面。

"mobiles" 将变为 "mobile"

索引也可以这样做。

希望对您有所帮助