我想使用Solr SpellCheckComponent / Suggester根据查询词和模糊搜索+通配符搜索获取查询词建议。例如,/ suggest?q = spackove将返回stackoverflow。
现在我有以下元素,但只有通配符搜索才有效,即使更改拼写检查精度属性也是如此。没有对模糊匹配进行校正,只返回不完整的正确拼写条目。 spellcheck.build = true已执行。我缺少什么?
config.xml:
<searchComponent name="suggest" class="solr.SpellCheckComponent">
<lst name="spellchecker">
<str name="name">suggest</str>
<str name="classname">org.apache.solr.spelling.suggest.Suggester</str>
<str name="lookupImpl">org.apache.solr.spelling.suggest.jaspell.JaspellLookupFactory</str>
<str name="field">STREETNAME_DUTCH_EXACT</str>
</lst>
</searchComponent>
<requestHandler name="/suggest" class="org.apache.solr.handler.component.SearchHandler">
<lst name="defaults">
<str name="spellcheck">true</str>
<str name="spellcheck.dictionary">suggest</str>
<str name="spellcheck.count">30</str>
</lst>
<arr name="components">
<str>suggest</str>
</arr>
</requestHandler>
亲切的问候,
S上。牛
答案 0 :(得分:0)
您应该在搜索组件中使用准确性字段。
<str name="accuracy">0.7</str>
这与说fieldVelue~0.7
顺便说一句,在你的“stackoverflow”版本中,你应该使用较小的值,因为你的文本与原始文本有很多不同之处。