摘要:服務(wù)系統(tǒng)不是必須的,這里獨立是為了分擔(dān)業(yè)務(wù)系統(tǒng)處理請求的壓力搜索系統(tǒng)訪問服務(wù)器需要有,類似的服務(wù)系統(tǒng)訪問搜索系統(tǒng)要帶上當(dāng)前時間的簽名,簽名的密鑰由搜索系統(tǒng)給出。
目標(biāo):
- 業(yè)務(wù)與當(dāng)前業(yè)務(wù)系統(tǒng)分離
- 支持多實例部署(分布式)
- 與業(yè)務(wù)系統(tǒng)切合簡單
- 開發(fā)人員配置簡單,改動代碼較少
- 支持搜索統(tǒng)計
- 索引管理
架構(gòu)圖:
?
流程說明:
采用lucene進行全文搜索要進行兩個步驟,一個是建索引,二是搜索索引。
1. 建索引
1.1 確定索引的實體(model)種類,在每個實體上加上@IndexEntity的注解,標(biāo)記該類被索引
1.2 按需對實體要索引的字段進行“索引域配置”,如是否分詞、域的數(shù)據(jù)類型、域在索引中的名稱,采用@IndexField注解配置
1.3 收集數(shù)據(jù);對每個注解了@IndexEntity的實體進行反射,獲取“索引域”的信息,保存到一個集合中,搜索系統(tǒng)定時通過websevice去“API服務(wù)系統(tǒng)”獲取要索引的數(shù)據(jù)(JSON格式)
1.4 建索引;搜索系統(tǒng)獲取到索引的數(shù)據(jù)后,解析JSON, 采用Lucene進行建索引, 索引完成后把索引成功的實體列表以JSON形式返回”API服務(wù)系統(tǒng)“。
1.5 API服務(wù)系統(tǒng)把索引成功的實體標(biāo)記為“已經(jīng)索引”,索引工作完成. 搜索
2. 搜索
2.1 業(yè)務(wù)系統(tǒng)提供搜索類型、域、域是否分詞、頁數(shù)等參數(shù)通過HTTP的形式請求搜索系統(tǒng)查詢結(jié)果
2.2 搜索系統(tǒng)根據(jù)請求參數(shù)解析并進行Lucene的搜索
2.3 搜索系統(tǒng)根據(jù)搜索的結(jié)果把實體的ID和類型封裝在集合中,以JSON形式返回給業(yè)務(wù)系統(tǒng)
2.4 業(yè)務(wù)系統(tǒng)根據(jù)搜索結(jié)果把數(shù)據(jù)展示出來。
BTW:
- API服務(wù)系統(tǒng)不是必須的,這里獨立是為了分擔(dān)業(yè)務(wù)系統(tǒng)處理請求的壓力
- 搜索系統(tǒng)訪問API服務(wù)器需要有AppKey, 類似api 的 secretKey
- API服務(wù)系統(tǒng)訪問搜索系統(tǒng)要帶上當(dāng)前時間的簽名,簽名的密鑰由搜索系統(tǒng)給出。
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://systransis.cn/yun/64017.html
摘要:而調(diào)用后端服務(wù)就應(yīng)用了的高級特分布式配置管理平臺后端掘金輕量的分布式配置管理平臺。關(guān)于網(wǎng)絡(luò)深度解讀后端掘金什么是網(wǎng)絡(luò)呢總的來說,網(wǎng)絡(luò)中的容器們可以相互通信,網(wǎng)絡(luò)外的又訪問不了這些容器。 在 Java 路上,我看過的一些書、源碼和框架(持續(xù)更新) - 后端 - 掘金簡書 占小狼轉(zhuǎn)載請注明原創(chuàng)出處,謝謝!如果讀完覺得有收獲的話,歡迎點贊加關(guān)注 物有本末,事有終始,知所先后,則近道矣 ......
閱讀 3334·2021-11-22 12:04
閱讀 2718·2019-08-29 13:49
閱讀 491·2019-08-26 13:45
閱讀 2249·2019-08-26 11:56
閱讀 1007·2019-08-26 11:43
閱讀 601·2019-08-26 10:45
閱讀 1275·2019-08-23 16:48
閱讀 2164·2019-08-23 16:07