博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Solr6 Suggest(智能提示)
阅读量:6766 次
发布时间:2019-06-26

本文共 2548 字,大约阅读时间需要 8 分钟。

  1、介绍

    Solr从1.4开始便提供了检查建议,检索建议目前是各大搜索的标配应用,主要作用是避免用户输入错误的搜索词,同时将用户引导到相应的关键词搜索上。通常,我们将其称为搜索联想。

  其效果如图所示。在Solr中,实现该功能的模块叫做suggest。

    

  2、配置

    配置manage-schema

 

  配置solrconfig.xml

text_spell
suggest
org.apache.solr.spelling.suggest.Suggester
org.apache.solr.spelling.suggest.tst.TSTLookup
suggestion
0.0001
spellchecker
freq
true
true
suggest
true
false
10
true
suggest

 

  3、重启solr,索引数据

     

  4、效果预览

    

 

  5、java代码查询

private static void getSuggest(String message) throws SolrServerException, IOException{        SolrQuery params = new SolrQuery();        params.set("qt", "/suggest");//        params.setQuery("中国");        params.setQuery(message);        QueryResponse response = null;        response = solr.query(params);        String suggest = response.toString();        suggest = suggest.replace("=",":");        System.out.println(suggest);        JSONObject obj = new JSONObject(suggest);        Stack
stObj = new Stack
(); stObj.push(obj); Map
resultMap =new HashMap
(); JsonToMap(stObj,resultMap); if(resultMap.containsKey("suggestion")){ System.out.println("suggestion:"+resultMap.get("suggestion")); } } /** * @Author:sks * @Description:把json对象数据存储在map以键值对的形式存储,只存储叶节点 * @Date: */ private static void JsonToMap(Stack
stObj,Map
resultMap) throws SolrServerException, IOException{ if(stObj == null && stObj.pop() == null){ return ; } JSONObject json = stObj.pop(); Iterator it = json.keys(); while(it.hasNext()){ String key = (String) it.next(); //得到value的值 Object value = json.get(key); //System.out.println(value); if(value instanceof JSONObject) { stObj.push((JSONObject)value); //递归遍历 JsonToMap(stObj,resultMap); } else { resultMap.put(key, value); } } }

 

转载于:https://www.cnblogs.com/shaosks/p/8044055.html

你可能感兴趣的文章
Systemstate Dump分析经典案例(上)
查看>>
Win7+Ubuntu11
查看>>
前端与移动开发之vue-day1(3)
查看>>
python--004--函数定义
查看>>
在中国,有多少程序员干到40了?那么其他人去干什么了?
查看>>
C盘里的文件夹都是干什么用的?
查看>>
PHP商城 Composer 以及PSR规范
查看>>
嵌入式培训大纲 看看具体的课程学习内容有哪些
查看>>
带外监控
查看>>
淘宝美工技能分享!13个超级有用的PS技巧
查看>>
三大措施解决电厂安全管控难题
查看>>
Oracle技术_Oracle口令文件
查看>>
MySQL基本操作总结
查看>>
2010年05月15-16日在宁波实施小额外贸网站B2C、商品展示网站心得体会总结
查看>>
质点碰撞和卢瑟福公式
查看>>
数据结构之链表
查看>>
hica快速通过指南
查看>>
我所遇到的SQL汇总
查看>>
css中居中的居中方法
查看>>
Android开发【开发环境】问题集合
查看>>