为什么拼写检查不能在“/ select”请求处理程序下工作?

时间:2014-01-27 04:51:52

标签: solr

我正在尝试将拼写检查组件安装到我的Solr安装中。我通过运行内置于默认配置中的“/ spell”请求处理程序确认它工作正常。

但是当我尝试在“/ select”处理程序下安装此组件时,系统会挂起。查询停止返回,系统不会ping等等。

任何其他处理程序名称都可以。我可以调用处理程序“/ query”或“/ gumby” - 它运行良好并返回结果和拼写检查建议。但是,如果我采用其他工作处理程序配置并将其重命名为“/ select”,则系统会挂起。

为什么会这样? “/ select”处理程序名称有什么神奇之处?

(一种理论:拼写检查是否会调用“/ select”处理程序?如果是这样,那么这会设置一个无限循环吗?但是当我注释掉“/ select”时,这不会打破搜索吗?)

更新:这与“整理”有关。如果我将其关闭(“spellcheck.collat​​e = false”),那么它可以正常工作。我怀疑排序规则是对数据库运行备用拼写搜索以获取计数,因此递归调用“/ select”。

1 个答案:

答案 0 :(得分:0)

似乎是solr中的一个错误,如果使用了排序规则,默认处理程序必须将maxCollat​​ionTries设置为0。

您可以将另一个请求处理程序设为默认值(例如 <requestHandler name="/select0" class="solr.SearchHandler" default="true"><str name="spellcheck.maxCollationTries">0</str>或不使用该处理程序的collat​​e,并且仍然使用/ select并将maxCollat​​ionTries设置为另一个值。