Rah*_*san 5 lucene solr spell-checking
我遇到过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>
Run Code Online (Sandbox Code Playgroud)
.
这是架构中的字段:
<field name="location_details" type="text_en_splitting" indexed="true" stored="false" required="false" />
Run Code Online (Sandbox Code Playgroud)
基本上,这是Solr中的一个错误.您需要隐藏/评论/删除以下内容requestHandler:
<!--<str name="spellcheck.maxCollationTries">3</str> here is a bug, put this parameter in the actual query string instead -->
Run Code Online (Sandbox Code Playgroud)
此外,如果您确实需要使用maxCollationTries,则可以在URL中将其作为Query参数输入.