Solr Retuning 错误结果 - 不完全匹配

Solr Retuning wrong results- not exact match

我正在针对类型为 solr.TextField 的已定义字段 subcategory 查询单词 RACE,我得到的结果具有 RACERACING,RACED 字,但我只需要匹配字 RACE 的结果。这是 Solr 的默认行为还是我在配置中做错了什么?请建议。

注意:我没有在各自的文本文件中放置任何停用词或同义词。

 <field name="subcategory" type="text" indexed="true" stored="true" multiValued="false"/>

 <fieldType name="text" class="solr.TextField" positionIncrementGap="100">
  <analyzer type="index">
    <tokenizer class="solr.WhitespaceTokenizerFactory"/>
    <filter class="solr.StopFilterFactory"
            ignoreCase="true"
            words="stopwords.txt"
            format="wordset"
            />
    <filter class="solr.LowerCaseFilterFactory"/>
    <filter class="solr.SnowballPorterFilterFactory" language="English" protected="protwords.txt"/>
  </analyzer>

  <analyzer type="query">
    <tokenizer class="solr.WhitespaceTokenizerFactory"/>
    <filter class="solr.SynonymFilterFactory" synonyms="synonyms.txt" ignoreCase="true" expand="true"/>
    <filter class="solr.StopFilterFactory"
            ignoreCase="true"
            words="stopwords.txt"
            format="wordset"
            />
    <filter class="solr.LowerCaseFilterFactory"/>
    <filter class="solr.SnowballPorterFilterFactory" language="English" protected="protwords.txt"/>
  </analyzer>
</fieldType>

你的链中有词干过滤器:

<filter class="solr.SnowballPorterFilterFactory" language="English" protected="protwords.txt"/>

词干过滤器的任务是将单词缩减为它们的共同词干,这意味着 raceracingracer 等都将缩减为相同的词干(可能 rac)。

如果您不想执行词干提取,请从您的索引和查询链中删除过滤器。

如果您想要词干提取,但只针对某些查询,请创建一个包含您想要的分析的重复字段,然后使用copyField将相同的内容编入索引两个字段并在不希望发生词干提取时查询字段而不进行词干提取。