solr搜索(项目中实现)

来源:互联网 发布:解谜游戏g5知乎 编辑:程序博客网 时间:2024/06/16 11:15

确定搜索关键字:
这里写图片描述
分析关键字,通过名称商品编号订单号搜索

使用数据库实现搜索:
这里写图片描述

性能差,使用solr搜索:
a)下单成功后,将订单数据写入到solr中
b)从solr中所搜:使用三个字段
orderId:Apple or title:Apple or itemId:Apple

定义solr的数据结构:
solr的配置文件:core.properties

name=order

conf/schema.xml 结构定义:

需要的字段:orderId 、 itemTitle 、itemId 、userId
辅佐字段:createTime
这里写图片描述
将三个字段内容拷贝到一个字段,根据这个字段搜索。

启动solr

这里写图片描述
这里写图片描述

这里写图片描述
这里写图片描述

写入订单数据到solr
a) 历史订单数据
查询订单系统接口数据,写入到solr
b)监听下单成功后的消息,将订单数据写入到solr

使用HttpSolrServlet时,需要指定baseUrl(到 order core

this.httpSolrService.setBasrUrl(TAOTAO_ORDER_SOLR);

使用uuid生成
这里写图片描述

在solr中修改一些参数:
新增
这里写图片描述

修改update
这里写图片描述

生成数据及效果:
这里写图片描述

代码实现与整合:
首先在搜索框中,填写关键字:
这里写图片描述
表单提交与相应的js操作方法:
这里写图片描述
提交到相对路径为:/ucenter/my/orders/search.htmlUcenterController处理,主要是调用UcenterService的search()方法去调用搜索系统:
这里写图片描述

search()方法去调用搜索系统TAOTAO_SEARCH_URL
这里写图片描述

这里写图片描述

根据订单号查询订单:
这里写图片描述

0 0