solr-拼写检查导致核心重新加载挂起

solr-拼写检查导致核心重新加载挂起,solr,lucene,spell-checking,Solr,Lucene,Spell Checking,我对by-solr设置有问题 经过今天的大量调查,我发现是拼写检查组件导致了堆芯重新加载问题 如果它关闭,一切都会运行良好,核心可以轻松重新加载。然而,当拼写检查开启时,核心不会重新加载,而是永远挂起。那么让项目恢复活动状态的唯一方法就是停止solr,删除数据文件夹,然后再次启动solr 以下是拼写检查的solr配置设置: <requestHandler name="/select" class="solr.SearchHandler"> <lst name="defaults

我对by-solr设置有问题

经过今天的大量调查,我发现是拼写检查组件导致了堆芯重新加载问题

如果它关闭,一切都会运行良好,核心可以轻松重新加载。然而,当拼写检查开启时,核心不会重新加载,而是永远挂起。那么让项目恢复活动状态的唯一方法就是停止solr,删除数据文件夹,然后再次启动solr

以下是拼写检查的solr配置设置:

<requestHandler name="/select" class="solr.SearchHandler">
<lst name="defaults">
       <!-- Spell checking defaults -->
       <str name="spellcheck.dictionary">default</str>
       <str name="spellcheck">on</str>
       <str name="spellcheck.count">5</str>
       <str name="spellcheck.onlyMorePopular">false</str>
       <str name="spellcheck.maxResultsForSuggest">5</str>
       <str name="spellcheck.alternativeTermCount">2</str>
       <str name="spellcheck.extendedResults">false</str>

       <str name="spellcheck.collate">true</str>
       <str name="spellcheck.maxCollations">3</str>
       <str name="spellcheck.maxCollationTries">3</str>
       <str name="spellcheck.collateExtendedResults">true</str>
</lst>

     <arr name="last-components">
       <str>spellcheck</str>
     </arr>
</requestHandler>


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

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

    <lst name="spellchecker">
      <str name="name">default</str>
      <str name="field">location_details</str>
      <str name="classname">solr.DirectSolrSpellChecker</str>
      <str name="buildOnCommit">true</str>
      <float name="accuracy">0.5</float>
      <float name="thresholdTokenFrequency">.01</float>
      <int name="maxEdits">1</int>
      <int name="minPrefix">3</int>
      <int name="maxInspections">3</int>
      <int name="minQueryLength">4</int>
      <float name="maxQueryFrequency">0.001</float>
    </lst>    

  </searchComponent>

违约
在…上
5.
假的
5.
2.
假的
真的
3.
3.
真的
拼写检查
文本分割
违约
地点(详情)
solr.DirectSolrSpellChecker
真的
0.5
.01
1.
3.
3.
4.
0.001

以下是架构中的字段:

<field name="location_details" type="text_en_splitting" indexed="true" stored="false" required="false" />

基本上,这是Solr中的一个bug。您只需从
requestHandler
中隐藏/注释/删除以下内容:

<!--<str name="spellcheck.maxCollationTries">3</str> here is a bug, put this parameter in the actual query string instead -->


此外,如果您确实需要使用
maxcollations
,您可以在url中输入它作为查询参数。

我也有同样的问题。你找到解决这个问题的方法了吗?事实上,我找到了:)让我把它作为一个答案发布。在升温查询中禁用拼写检查(false)也可以解决这个问题。