资讯

精准传达 • 有效沟通

从品牌网站建设到网络营销策划,从策略到执行的一站式服务

solr4.7智能提示怎么实现

这篇文章主要介绍“solr4.7智能提示怎么实现”,在日常操作中,相信很多人在solr4.7智能提示怎么实现问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”solr4.7智能提示怎么实现”的疑惑有所帮助!接下来,请跟着小编一起来学习吧!

剑川ssl适用于网站、小程序/APP、API接口等需要进行数据传输应用场景,ssl证书未来市场广阔!成为成都创新互联的ssl证书销售渠道,可以享受市场价格4-6折优惠!如果有意向欢迎电话联系或者加微信:18980820575(备注:SSL证书合作)期待与您的合作!

solrconfig.xml配置:

   
      
        
        suggest    
        org.apache.solr.spelling.suggest.Suggester    
        org.apache.solr.spelling.suggest.tst.TSTLookup 
        text  
        0.0001 
        freq  
        true  
        true       
        
     
      
        
        true    
        suggest    
        10    
        true  
        false        
        true  
            
        
        
        suggest    
        
  

 solrj代码:

/**
    * @method: spellcheck
    * @Description: 智能提示
    *     Solr里叫做Suggest模块
    *    
    * @return void
    *
    * @author: ChenYW
    * @date 2014-4-15 下午04:29:24
    */
 public List> suggest(String word) {
  List> wordList = new ArrayList>();
     try {
   SolrQuery query = new SolrQuery();
   query.set("q", "text:" + word);//查询的词  
   query.set("qt", "/suggest");//请求到suggest中  
   query.set("spellcheck.count", "10");//返回数量  
   QueryResponse rsp = server.query(query);

   //上面取结果的代码  
   SpellCheckResponse re = rsp.getSpellCheckResponse();//获取拼写检查的结果集  
   if (re != null) {
    for (Suggestion s : re.getSuggestions()) {
     List list = s.getAlternatives();//获取所有 的检索词  
     for (String spellWord : list) {
      Map map = new HashMap();
      map.put("code", spellWord);
      wordList.add(map);
     }
    }
    String t = re.getFirstSuggestion(word);//获取第一个推荐词  

   }
  } catch (Exception e) {
   e.printStackTrace();
  }  
  return wordList;
    }

到此,关于“solr4.7智能提示怎么实现”的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注创新互联网站,小编会继续努力为大家带来更多实用的文章!


文章名称:solr4.7智能提示怎么实现
文章路径:http://www.cdkjz.cn/article/piggpj.html
多年建站经验

多一份参考,总有益处

联系快上网,免费获得专属《策划方案》及报价

咨询相关问题或预约面谈,可以通过以下方式与我们联系

大客户专线   成都:13518219792   座机:028-86922220