Java 尽管进行了配置,但Solr拼写检查仍不工作
我看过其他帖子,但似乎无法解决我的问题。我已打开拼写检查,但它不会返回任何建议。拼写检查对象在结果中,但始终为空。我目前正在使用名为Java 尽管进行了配置,但Solr拼写检查仍不工作,java,solr,configuration,spell-checking,Java,Solr,Configuration,Spell Checking,我看过其他帖子,但似乎无法解决我的问题。我已打开拼写检查,但它不会返回任何建议。拼写检查对象在结果中,但始终为空。我目前正在使用名为name的字段进行拼写检查: <field name="name" type="string" indexed="true" stored="true" multiValued="false"/> 我有以下拼写检查搜索组件: <searchComponent name="spellcheck" class="solr.SpellCheckComp
name
的字段进行拼写检查:
<field name="name" type="string" indexed="true" stored="true" multiValued="false"/>
我有以下拼写检查搜索组件:
<searchComponent name="spellcheck" class="solr.SpellCheckComponent">
<lst name="spellchecker">
<str name="name">default</str>
<str name="field">name</str>
<str name="classname">solr.DirectSolrSpellChecker</str>
<str name="distanceMeasure">internal</str>
<int name="maxEdits">2</int>
<int name="minPrefix">1</int>
<int name="maxInspections">5</int>
<int name="minQueryLength">4</int>
<float name="maxQueryFrequency">1</float>
<float name="thresholdTokenFrequency">1</float>
</lst>
</searchComponent>
在这种情况下不能使用字符串字段,因为
sampel
将与整个字符串进行比较-示例文档
。这一差异太大,不能视为一种修正。而是使用基于文本的字段类型,例如text\u en
@MatsLindh Good point。我修改了它,所以有一个单独的拼写检查字段,它是一个文本字段,然后在拼写检查中添加了一个从name复制的字段。但是,它仍然不起作用(我更新了conf、重新加载了core、重新编制了索引等等)。@MatsLindh作为参考,我在问题中添加了拼写检查使用的文本字段类型(我还更新了搜索组件以查看拼写检查字段)。在这种情况下,不能使用字符串字段,由于sampel
将与整个字符串进行比较-示例文档
。这一差异太大,不能视为一种修正。而是使用基于文本的字段类型,例如text\u en
@MatsLindh Good point。我修改了它,所以有一个单独的拼写检查字段,它是一个文本字段,然后在拼写检查中添加了一个从name复制的字段。但是,它仍然不起作用(我更新了conf、重新加载了core、重新编制了索引等等)。@MatsLindh作为参考,我在问题中添加了拼写检查使用的文本字段类型(我还更新了搜索组件以查看拼写检查字段)
<searchComponent name="spellcheck" class="solr.SpellCheckComponent">
<lst name="spellchecker">
<str name="name">default</str>
<str name="field">name</str>
<str name="classname">solr.DirectSolrSpellChecker</str>
<str name="distanceMeasure">internal</str>
<int name="maxEdits">2</int>
<int name="minPrefix">1</int>
<int name="maxInspections">5</int>
<int name="minQueryLength">4</int>
<float name="maxQueryFrequency">1</float>
<float name="thresholdTokenFrequency">1</float>
</lst>
</searchComponent>
<fieldType name="text_general" class="solr.TextField" positionIncrementGap="100">
<analyzer type="index">
<tokenizer class="solr.StandardTokenizerFactory"/>
<filter class="solr.StopFilterFactory" ignoreCase="true" words="stopwords.txt" />
<filter class="solr.SynonymFilterFactory" synonyms="synonyms.txt" ignoreCase="true" expand="false"/>
<filter class="solr.LowerCaseFilterFactory"/>
</analyzer>
<analyzer type="query">
<tokenizer class="solr.StandardTokenizerFactory"/>
<filter class="solr.StopFilterFactory" ignoreCase="true" words="stopwords.txt" />
<filter class="solr.SynonymFilterFactory" synonyms="synonyms.txt" ignoreCase="true" expand="true"/>
<filter class="solr.LowerCaseFilterFactory"/>
</analyzer>
</fieldType>