Solr 7.3.0 Suggest 配置使用

  1. solrconfig.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.tst.TSTLookup</str>
              <str name="field">suggestion</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">10</str>
         </lst>
         <arr name="components">
              <str>suggest</str>
         </arr>
    </requestHandler>
  2. managed-schema 配置
    <fieldType class="solr.TextField" name="textSpell">
         <analyzer>
            <tokenizer class="solr.KeywordTokenizerFactory"/>
            <filter class="solr.LowerCaseFilterFactory"/>
         </analyzer>
      </fieldType>
      <field name="suggestion" type="textSpell" indexed="true" stored="true"/>
      <copyField source="item_companyname" dest="suggestion" maxChars="300" />
  3. 重启后访问/suggest?spellcheck.build=true 对查询组件建立索(返回如下)
    {
      "responseHeader":{
        "status":0,
        "QTime":204},
      "command":"build"}
  4. 查询结果/suggest?q=上海&rows=10&start=0(返回如下)
    {
      "responseHeader":{
        "status":0,
        "QTime":1},
      "spellcheck":{
        "suggestions":[
          "上海",{
            "numFound":10,
            "startOffset":0,
            "endOffset":2,
            "suggestion":["上海黎晨电子商务有限公司",
              "上海黎沪家具有限公司",
              "上海黑桃互动网络科技有限公司",
              "上海黛熙化妆品有限公司",
              "上海黛艳玛化妆品有限公司",
              "上海黛莱化妆品贸易商行",
              "上海鼓特科学仪器有限公司",
              "上海鼓钱袋金融信息服务有限责任公司",
              "上海齐律包装材料有限公司",
              "上海齐跃会展服务有限公司"]}]}}

如果过程中遇到问题可以重新导入一次数据生成索引就可以了

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 11
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 11
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值