我要求根据每个术语的提升值在solr 4.7.x自动建议响应中提高一个术语/ s这个提升是针对文件中定义的一些术语(并且业务可以管理此文件) 。
我有一个扩展现有响应编写器或编写自定义插件的设计
例如:mydic.suggest文件看起来像
鹰40.00
点击20.00
托管30.00l
当我开始输入
时- >查询1:"(http://example.com/solr/collection1/suggest?q=eag)"
原始solr响应将(根据我的索引)
建议:
{
渴望,
鹰
}
因此建议响应应更改为
建议:{
鹰,
渴望
}
- >查询2:"(http://example.com/solr/collection1/suggest?q=ho)" 原始Solr响应将(基于我的索引)
建议:
{
假期,
冬青,
家,
故乡,
跳,
希望,
托管
}
所以建议的回应应该改为 - 观察术语"托管"来吧
建议:{
托管,
假期,
冬青,
家,
故乡,
跳,
希望
}
这是否适用于自定义solr插件?
我对Dic的建议处理程序看起来像::
<searchComponent class="solr.SpellCheckComponent" name="suggest">
<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.fst.WFSTLookupFactory</str>
<!-- Alternatives to lookupImpl:
org.apache.solr.spelling.suggest.fst.FSTLookupFactory [finite state automaton]
org.apache.solr.spelling.suggest.fst.WFSTLookupFactory [weighted finite state automaton]
org.apache.solr.spelling.suggest.jaspell.JaspellLookupFactory [default, jaspell-based]
org.apache.solr.spelling.suggest.tst.TSTLookupFactory [ternary trees]
<str name="comparatorClass">freq</str>-->
<str name="sourceLocation ">./../suggest/autoSuggestDic.txt</str>
<str name="field">textSuggest</str> <!-- the indexed field to derive suggestions from -->
<str name="buildOnCommit">true</str>
<bool name="exactMatchFirst">true</bool>
</lst>
<!-- specify a fieldtype using keywordtokenizer + lowercase + cleanup -->
<str name="queryAnalyzerFieldType">text_general</str>
</searchComponent>
<requestHandler class="org.apache.solr.handler.component.SearchHandler" name="/suggest">
<lst name="defaults">
<str name="name">suggest</str>
<str name="spellcheck">true</str>
<str name="spellcheck.dictionary">suggest</str>
<str name="spellcheck.onlyMorePopular">false</str>
<str name="spellcheck.count">15</str>
<str name="spellcheck.collate">true</str>
</lst>
<arr name="components">
<str>suggest</str>
</arr>
</requestHandler>
答案 0 :(得分:0)
我现在使用solr 4.7同时使用词典支持和索引词典。
我的自定义建议处理程序构建HighFrequencyDictionary(使用我的索引构建)实例和FileDictionary(这是我提到的字典文件
solrConfig.xml中的./../ autoSuggestDic.dic)实例
在build(...)方法中 和自定义getSuggestions(SpellingOptions选项){..}方法使用这两个词典作为建议。
这类似于提升您的建议条款,以提升您的搜索结果。