打算用的是ElasticSearch, 分詞用IK. 比如博客園的搜索文章, 搜索的Field: 博客標題、博客內容、博客標簽我現在的想法是: 1. 我只會第一次接入elastic同步一次數據庫數據到 elastic-server。 2. 以后新增or更新 博客, 通過新增代碼邏輯, 每次發送請求給 elastic-server, 大致"_source":{"articleId":"...", "articleTitle":"...","articleConent":"...","articleTag":"..."}; 在elastic-server返回success才保存博客到database, 否則回滾事物. (不知道這有沒有更好的實現) 3. 搜索時: 搜索出符合的結果, 然后用articleId去走正常的 查看博客邏輯. 包括搜索列表展示, 比如每頁10條, 我都會用這10個articleId去組裝列表數據(因為是app的搜索) 4. 刪除: 我會根據articleId去刪除 elastic-server中的數據(document)我不知道以上的思路是不是可以,或有哪些地方可優化? 求做過的指點一下.
1 回答

qq_笑_17
TA貢獻1818條經驗 獲得超7個贊
思路大致沒什么問題
1 關于數據同步:
不過博客的存儲引擎現在大部分都是mongodb這類的,這種數據庫跟Elasticsearch有專門的同步工具,不需要你手動維護。
2 關于結果展現:
搜索結果的展現最好直接用搜索的結果來做,不要重新查數據庫,再組織結果。
因為這樣即會丟失關鍵字高亮的信息,效率也不高。
- 1 回答
- 0 關注
- 781 瀏覽
添加回答
舉報
0/150
提交
取消