根据术语列表更改solr suggest响应
我需要根据每个术语的提升值提升solr 4.7.x auto suggest response中的术语,此提升适用于文件中定义的某些术语集(业务部门可以管理此文件) 我有一个扩展现有响应编写器或编写自定义插件的设计,根据术语列表更改solr suggest响应,solr,solrj,autosuggest,solr4,solrcloud,Solr,Solrj,Autosuggest,Solr4,Solrcloud,我需要根据每个术语的提升值提升solr 4.7.x auto suggest response中的术语,此提升适用于文件中定义的某些术语集(业务部门可以管理此文件) 我有一个扩展现有响应编写器或编写自定义插件的设计, 例如:mydic.suggest文件看起来像 鹰队40.00 点击20.00 托管30.00l 当我开始打字的时候 -->问题1:“()” 原始solr响应将是(基于我的索引) 建议: { 渴望, 老鹰 } 因此建议响应应更改为 建议:{ 老鹰, 热切的 } -->问题2:“()”
例如:mydic.suggest文件看起来像
鹰队40.00 点击20.00 托管30.00l 当我开始打字的时候 -->问题1:“()” 原始solr响应将是(基于我的索引) 建议: {
渴望,
老鹰
} 因此建议响应应更改为
建议:{
老鹰,
热切的
} -->问题2:“()” 原始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>
建议
org.apache.solr.spelling.Suggester
org.apache.solr.spelling.suggest.fst.wfstlookupffactory
./../suggest/autosuggestic.txt
短信建议
符合事实的
符合事实的
正文\u概述
建议
符合事实的
建议
错误的
15
符合事实的
建议
我现在在solr 4.7中使用字典支持和索引字典
我的自定义建议处理程序构建HighFrequencyDictionary(它是使用我的索引构建的)实例和FileDictionary(它是我提到的字典文件)
.solrConfig.xml中的./../autosuggestic.dic)实例
内部生成(…)方法
自定义getSuggestions(拼写选项){..}方法使用这两个字典作为建议
这类似于增加搜索结果的建议词。你看了吗?是的,我已经用我的dic为我的suugest处理程序设置了“简单的自动建议短语测试词典”#注意这使用标签作为分隔符!howard 100.0 hits 3.0 testing 3.0 eagles 5.0 stern 5.0 show 5.0仅供参考我的建议处理程序与dic的外观类似--请查看我的更新问题,谢谢Srikanth的建议。