我一直在尝试在 Localhost 上实现 Solr ,并使用其中的示例测试功能,并希望测试拼写检查功能。
因此,我尝试阅读官方文档和一些有关如何执行此操作的文章,并尝试实现它,但是在发送查询后,未返回任何建议。
这是我的 solrconfig.xml
<searchComponent name="spellcheck" class="solr.SpellCheckComponent">
<lst name="spellchecker">
<str name="name">default</str>
<str name="field">fieldspellcheck_en</str>
<str name="classname">solr.IndexBasedSpellChecker</str>
<str name="distanceMeasure">internal</str>
<float name="accuracy">0.5</float>
<int name="maxEdits">2</int>
<int name="minPrefix">1</int>
<int name="maxInspections">5</int>
<int name="minQueryLength">4</int>
<float name="maxQueryFrequency">0.01</float>
<float name="thresholdTokenFrequency">.01</float>
</lst>
</searchComponent>
这是我在 managed-schema (以前称为 schema.xml )中编辑过的内容
<fieldType name="text_suggest" class="solr.TextField" positionIncrementGap="100">
<analyzer>
<tokenizer class="solr.StandardTokenizerFactory"/>
<filter class="solr.StopFilterFactory" ignoreCase="true" words="stopwords.txt" />
<filter class="solr.LowerCaseFilterFactory"/>
</analyzer>
</fieldType>
<field name="fieldspellcheck_en" type="text_suggest" indexed="true" stored="true" />
<copyField source="*_txt_en" dest="fieldspellcheck_en" />
所以我发送了一个查询
curl http://localhost:8983/solr/films/spell?spellcheck.q=blak&spellcheck=on
我期望的回复包括black, blue etc..
等建议,但我得到的回复是
{
"responseHeader":{
"status":0,
"QTime":1},
"response":{"numFound":0,"start":0,"docs":[]
},
"spellcheck":{
"suggestions":[],
"correctlySpelled":false,
"collations":[]}}
未返回任何建议。
为什么我没有任何建议?我应该做些什么改变