首页 > 解决方案 > 影响 Solr 拼写检查

问题描述

对于使用 Solr 进行搜索的电子商务网站,我们使用标准的拼写检查组件,它在某些情况下可以正常工作,但在其他情况下则不行。这个问题是要了解它在后台如何工作以及如何改进它。

例如:我有一些产品名称中带有“手镯”。当我搜索拼写错误的术语,如“brecelet”或“bracelat”或“braselet”或“breclat”时,它会将其更正为“bracelet”,而不是“breclate”。

为什么它在上学期不起作用,我该如何影响它。

更新: 拼写检查配置:

<field name="SpellContent" type="textSpell" indexed="true" stored="false" multiValued="true" required="false" />

我们有上面的字段,我们在其中复制名称字段。

 <fieldType name="textSpell" class="solr.TextField" positionIncrementGap="100">
      <analyzer type="index">
        <tokenizer class="solr.StandardTokenizerFactory"/>
        <filter class="solr.StopFilterFactory" ignoreCase="true" words="stopwords.txt" />
        <filter class="solr.LowerCaseFilterFactory"/>
      </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.LowerCaseFilterFactory"/>
      </analyzer>
    </fieldType>

拼写检查为:

<searchComponent name="spellcheck" class="solr.SpellCheckComponent">

    <str name="queryAnalyzerFieldType">text</str>

    <lst name="spellchecker">
      <str name="name">default</str>
      <str name="field">SpellContent</str>
      <str name="classname">solr.DirectSolrSpellChecker</str>
      <str name="distanceMeasure">internal</str>
      <float name="accuracy">0.5</float>
      <int name="maxEdits">2</int>
      <int name="minPrefix">1</int>
      <int name="maxInspections">5</int>
      <int name="minQueryLength">4</int>
      <float name="maxQueryFrequency">0.01</float>
    </lst>

    <lst name="spellchecker">
      <str name="name">wordbreak</str>
      <str name="classname">solr.WordBreakSolrSpellChecker</str>      
      <str name="field">SpellContent</str>
      <str name="combineWords">true</str>
      <str name="breakWords">false</str>
      <int name="maxChanges">10</int>     
    </lst>

  </searchComponent>

标签: solrlucenespell-checking

解决方案


推荐阅读