1. 程式人生 > >solr搜尋(專案中實現)

solr搜尋(專案中實現)

確定搜尋關鍵字:
這裡寫圖片描述
分析關鍵字,通過名稱商品編號訂單號搜尋

使用資料庫實現搜尋:
這裡寫圖片描述

效能差,使用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
這裡寫圖片描述

這裡寫圖片描述

根據訂單號查詢訂單:
這裡寫圖片描述