0

查询包含 5 个集合的别名并获得正确单词的建议。例如:- Collection1 中有“轮胎政策” Collection2 中有一个词“礼貌”。当我查询“轮胎政策”时,它会检查并返回“礼貌”作为“政策”的建议。PS - 在查询期间我通过

spellcheck.maxResultsForSuggest=0

没有它,拼写检查器不会纠正错误的拼写。

我正在使用 DirectSolrSpellchecker 调整 <float name="maxQueryFrequency">0.01</float>

<float name="maxQueryFrequency">1</float> 

但遇到同样的问题。

直接 solr 拼写检查代码-

 <lst name="spellchecker">
      <str name="name">default</str>
      <str name="field">text</str>
      <str name="classname">solr.DirectSolrSpellChecker</str>
       <str name="distanceMeasure">org.apache.lucene.search.spell.LevenshteinDistance</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">3</int>
      <float name="maxQueryFrequency">1</float>
    </lst>

处理程序内的拼写检查器

<str name="spellcheck.dictionary">default</str>
        <str name="spellcheck.dictionary">wordbreak</str>
        <str name="spellcheck.dictionary">file</str>
        <str name="spellcheck">on</str>
        <str name="spellcheck.extendedResults">true</str>
        <str name="spellcheck.count">10</str>
        <str name="spellcheck.alternativeTermCount">5</str>
        <str name="spellcheck.maxResultsForSuggest">5</str>
        <str name="spellcheck.collate">true</str>
        <str name="spellcheck.collateExtendedResults">true</str>
        <str name="spellcheck.maxCollationTries">10</str>
        <str name="spellcheck.maxCollations">5</str>

由于“maxqueryfreqency”设置为“1”,因此不应有任何策略建议。

4

1 回答 1

0

您是否尝试过调整maxResultsForSuggest参数?当前值为 5,如果您的查询

返回 5 个或更少的结果,拼写检查器将报告“correctlySpelled=false”并提供建议

solr 8.1 文档

于 2019-09-20T02:05:15.887 回答