【问题标题】:Solr Retuning wrong results- not exact matchSolr 重新调整错误的结果 - 不完全匹配
【发布时间】:2017-08-01 09:14:57
【问题描述】:

我正在针对solr.TextField 类型的已定义字段subcategory 查询单词RACE,我得到的结果包含RACE,RACING,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>

【问题讨论】:

    标签: solr lucene solrj solrcloud


    【解决方案1】:

    你的链中有一个词干过滤器:

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

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

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

    如果您确实想要提取词干,但只针对某些查询,请创建一个包含所需分析的重复字段,然后使用 copyField 将相同的内容索引到两个字段中,并在没有的情况下查询该字段当您不想进行词干提取时进行词干提取。

    【讨论】:

    • 我在 schema.xml 中进行了相应的更改并上传到 zookeeper 并重新加载了核心。现在,我是否需要重新索引旧文档才能正常工作?换句话说,每次 solr 配置更改后,我是否需要重新索引旧文档?
    • 是的,对文档索引方式的任何更改都需要重新索引(即,除非您只更改分析链的“索引”或“多项”部分,否则您必须重新索引) .
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-03
    • 1970-01-01
    相关资源
    最近更新 更多