gpt4 book ai didi

java - 为什么 Solr 拼写检查中的排序结果为空

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

我已经使用 IndexBasedSpellChecker 配置了一个 Solr 拼写检查组件,其核心包含国家/地区名称:

<searchComponent name="indexBasedSpellCheck" class="solr.SpellCheckComponent">
<lst name="spellchecker">
<str name="name">indexBasedSpellCheck</str>
<str name="classname">solr.IndexBasedSpellChecker</str>
<str name="spellcheckIndexDir">./indexspellchecker</str>
<str name="field">name</str>
<str name="buildOnCommit">true</str>
<str name="distanceMeasure">org.apache.lucene.search.spell.LevensteinDistance</str>
<str name="accuracy">0.5</str>
</lst>
</searchComponent>

以及用于拼写检查的请求处理程序:

<requestHandler name="/index-spell" class="solr.SearchHandler" startup="lazy">
<lst name="defaults">
<str name="spellcheck.dictionary">idxBasedSpellCheck</str>
<str name="spellcheck">on</str>
<str name="spellcheck.extendedResults">true</str>
<str name="spellcheck.count">10</str>
<str name="spellcheck.alternativeTermCount">5</str>
<str name="spellcheck.maxResultsForSuggest">5</str>
<str name="spellcheck.collate">true</str>
<str name="spellcheck.collateExtendedResults">true</str>
<str name="spellcheck.maxCollationTries">10</str>
<str name="spellcheck.maxCollations">5</str>
</lst>
<arr name="last-components">
<str>indexBasedSpellCheck</str>
</arr>
</requestHandler>

当我请求时:

curl 'http://localhost:8983/solr/mycore/index-spell?indent=on&spellcheck.q=tanaz&wt=json&spellcheck.collat​​e=true'

我在建议中得到的结果如下:

 "spellcheck":{
"suggestions":[
"tanaz",{
"numFound":3,
"startOffset":0,
"endOffset":5,
"origFreq":0,
"suggestion":[{
"word":"canada",
"freq":1},
{
"word":"panama",
"freq":1},
{
"word":"tanzania",
"freq":1}]}],
"correctlySpelled":false,
"collations":[]}

为什么我的排序规则是空的?我的请求中有pellcheck.collat​​e=true。

最佳答案

我认为您在请求中缺少df(默认字段)参数。 在您的请求中添加 df=name:

http://localhost:8983/solr/mycore/index-spell?indent=on&spellcheck.q=tanaz&wt=json&spellcheck.collate=true&df=name

您还可以在请求处理程序默认值中配置此项,因此您无需在请求中发送此信息。

<requestHandler name="/index-spell" class="solr.SearchHandler" startup="lazy">
<lst name="defaults">
...
<str name="df">name</str>
...
</lst>
<arr name="last-components">
<str>idxBasedSpellCheck</str>
</arr>
</requestHandler>

关于java - 为什么 Solr 拼写检查中的排序结果为空,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46968819/

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