我遇到过solr设置问题。
经过今天的大量调查后,我发现它的拼写检查组件导致Core Reload问题挂起。
如果关闭,一切都会运行良好,核心可以轻松重新加载。但是,当拼写检查打开时,核心不会重新加载而是永远挂起。然后让项目恢复活力的唯一方法是停止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>
以下是架构中的字段:
<field name="location_details" type="text_en_splitting" indexed="true" stored="false" required="false" />
答案 0 :(得分:7)
基本上,这是Solr中的一个错误。您需要隐藏/评论/删除requestHandler
中的以下内容:
<!--<str name="spellcheck.maxCollationTries">3</str> here is a bug, put this parameter in the actual query string instead -->
此外,如果您确实需要使用maxCollationTries
,则可以在网址中将其作为查询参数输入。