根据术语列表更改solr suggest响应

根据术语列表更改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:“()”

我需要根据每个术语的提升值提升solr 4.7.x auto suggest response中的术语,此提升适用于文件中定义的某些术语集(业务部门可以管理此文件)

我有一个扩展现有响应编写器或编写自定义插件的设计,
例如: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的建议。