gpt4 book ai didi

solr - 请求句柄 solrconfig.xml 拼写检查器

转载 作者:行者123 更新时间:2023-12-04 13:17:47 25 4
gpt4 key购买 nike

我正在尝试设置拼写检查器,根据 solr documentation .但是当我测试时,我没有任何建议。我的一段代码如下:

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

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

<lst name="spellchecker">
<str name="classname">solr.IndexBasedSpellChecker</str>
<str name="name">default</str>
<str name="field">name</str>
<str name="spellcheckIndexDir">./spellchecker</str>
</lst>
<str name="queryAnalyzerFieldType">textSpell</str>

</searchComponent>


<requestHandler name="/spellcheck" class="solr.SearchHandler">
<lst name="defaults">
<str name="echoParams">explicit</str>
<!-- Optional, must match spell checker's name as defined above, defaults to "default" -->
<str name="spellcheck.dictionary">default</str>
<!-- omp = Only More Popular -->
<str name="spellcheck.onlyMorePopular">false</str>
<!-- exr = Extended Results -->
<str name="spellcheck.extendedResults">false</str>
<!-- The number of suggestions to return -->
<str name="spellcheck.count">1</str>
</lst>
<arr name="last-components">
<str>spellcheck</str>
</arr>
</requestHandler>

我发送给 Solr 的查询:
q=%2B%28text%3A%28gasal%29%29&suggestField=contentOriginal&ontologySeed=gasal&spellcheck.build=true&spellcheck.q=gasal&spellcheck=true&spellcheck.collat​​e=true&hl=true&hl.snippets=5&hl.fl=text&hl.fl=text&rows=12&start=0&qt =%2F 建议概率

有人知道为什么吗??提前致谢

最佳答案

一、不要重复queryAnalyzerFieldType在组件配置中两次。

建议不要使用 /spellcheck处理程序,而是将拼写检查组件绑定(bind)到标准查询处理程序(或 dismax,如果它是您使用的),如下所示:

<requestHandler name="standard" class="solr.SearchHandler" default="true">
<lst name="defaults">
...
</lst>
<arr name="last-components">
<str>spellcheck</str>
...
</arr>
</requestHandler>

然后你可以这样称呼它: http://localhost:8983/solr/select?q=komputer&spellcheck=true
也不要忘记 to build the spellcheck dictionary在你使用它之前: http://localhost:8983/solr/select/?q=*:*&spellcheck=true&spellcheck.build=true
您可以通过在组件中配置字典来强制字典在每次提交时构建:
<searchComponent name="spellcheck" class="solr.SpellCheckComponent">
<str name="queryAnalyzerFieldType">textSpell</str>
<lst name="spellchecker">
<str name="classname">solr.IndexBasedSpellChecker</str>
<str name="name">default</str>
<str name="field">name</str>
<str name="spellcheckIndexDir">./spellchecker1</str>
<str name="buildOnCommit">true</str>
</lst>
</searchComponent>

最后,确保您的 name字段实际上是 textSpell 类型的索引字段并且它包含足够的内容来构建一个好的字典。就我而言,我有一个名为 spellchecker 的字段它是从我的索引的几个字段中填充的(使用架构中的 copyField 指令)。

关于solr - 请求句柄 solrconfig.xml 拼写检查器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3967101/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com