亚欧色一区w666天堂,色情一区二区三区免费看,少妇特黄A片一区二区三区,亚洲人成网站999久久久综合,国产av熟女一区二区三区

  • 發布文章
  • 消息中心
點贊
收藏
評論
分享
原創(chuang)

基于OpenSearch搜索引擎的Search請求及插件開發簡介

2024-05-22 03:16:21
96
0

OpenSearch簡介

OpenSearch 是一個(ge)社區驅動的開源搜(sou)索引(yin)擎(qing)和分析(xi)組件(jian),開發(fa)人員使用(yong)(yong)該套件(jian)來攝(she)取(qu)、搜(sou)索、可視(shi)化和分析(xi)數據(ju)(ju)。 OpenSearch 由數據(ju)(ju)存儲和搜(sou)索引(yin)擎(qing) (OpenSearch)、可視(shi)化和用(yong)(yong)戶界面 (OpenSearch Dashboards) 以(yi)及(ji)服(fu)務器(qi)端數據(ju)(ju)收(shou)集器(qi) (Data Prepper) 組成。 用(yong)(yong)戶可以(yi)使用(yong)(yong)一系列增強搜(sou)索、分析(xi)、可觀察(cha)性、安全性、機器(qi)學習等(deng)的插件(jian)來擴展 OpenSearch 的功能。

搜索引擎Search請求框架分析

搜素引擎原理.jpeg
我們將一次搜索引擎的Search請求進行拆解:
大多數(shu)情(qing)況下都是(shi)query then fetch,可以(yi)將(jiang)這個(ge)過程主(zhu)要分為3個(ge)主(zhu)要階段:

  1. 集群管理階段:獲取需要調用的分片相關信息。
  2. 倒排索引召回階段:在每個分片內,進行具體search操作----切詞、召回、匯總(順帶推薦)。
  3. 正排撈取階段:根據docid,在分片fetch操作—根據域撈取數據、篩選數據、排序等操作。

完成如上(shang)遍歷以(yi)后,搜索引擎(qing)將搜索結果以(yi)Json的形式返(fan)回給Client端(duan),其中(zhong)(zhong),OpenSearch可(ke)以(yi)認為僅僅是一個(ge)內部調度工具(ju)和管理平臺(tai),核心和底層就是Lucence,最(zui)基(ji)本的倒排、正排、單獨(du)倒排這些思想(xiang)全(quan)部抽象(xiang)在(zai)Lucence中(zhong)(zhong)。

OpenSearch插件開發

優勢&收益

OpenSearch支持(chi)了(le)插件開發的機(ji)制,在此(ci)機(ji)制下(xia),用戶可以在不修改OpenSearch源(yuan)碼的基礎(chu)上,通過編(bian)寫(xie)接(jie)口(kou)API的方式,為(wei)Opensearch增加(jia)諸多功(gong)能(neng),極大豐富了(le)OpenSearch的功(gong)能(neng)。這樣無侵入式的開發,既保(bao)留(liu)了(le)代碼的穩(wen)定性(xing)和健壯性(xing),也可以在高可用集群(qun)的基礎(chu)上,為(wei)解決(jue)定制化需求新(xin)增新(xin)的功(gong)能(neng)。

切入點

插件開發(fa)主(zhu)要從以下幾(ji)個API入手:

  • ActionPlugin Restful API命令請求插件,擴展性實現最基礎的插件
  • AnalysisPlugin 主要的跟分詞、過濾相關的插件,也是最為活躍的改動的插件,自定義切詞必須走這里
  • ClusterPlugin 集群管理插件,自定義集群管理策略
  • DiscoveryPlugin 結點發現插件
  • IngestPlugin 數據接入插件
  • MapperPlugin 映射相關的插件
  • NetworkPlugin 網絡傳輸相關插件
  • RepositoryPlugin 存儲、快照等相關插件
  • ScriptPlugin 腳本插件,主推painless
  • SearchPlugin 查詢插件,這是最主要的和search相關的插件,提供了教豐富也很復雜的功能
  • ReloadablePlugin 重啟相關插件

插件原理簡介

插件原理.png

1、插件(jian)的(de)(de)加載時機(ji)是在節點(dian)啟動創(chuang)建的(de)(de)時候中會掃描Opensearch的(de)(de)安裝目錄下的(de)(de)plugins和module的(de)(de)插件(jian)列表,并通(tong)過(guo)PluginService進行解析插件(jian)。

2、PluginFilter是用(yong)來識別(bie)plugin類(lei)別(bie)的一個(ge)方法,通過每個(ge)插件(jian)實現(xian)的接口(kou)將所有插件(jian)分類(lei)并分發給Opensearch不(bu)同的服務組件(jian)進行注冊。

3、在(zai)node不同(tong)的服(fu)務(wu)啟動(dong)過程(cheng)中(zhong)會讀取每個和(he)自己相關的組件進(jin)行擴展,最終插件都會形成服(fu)務(wu)提供(gong)給(gei)集群使用(比如SearchPlugin最終會在(zai)searchTransportService中(zhong)提供(gong)服(fu)務(wu))




以上就是OpenSearch搜(sou)索引擎的Search請(qing)求及基本插(cha)件開(kai)發的簡介,歡迎(ying)同學們指正

0條評論
0 / 1000
pyyuhao
1文章(zhang)數
0粉絲數
pyyuhao
1 文章(zhang) | 0 粉絲(si)
pyyuhao
1文章數
0粉絲數
pyyuhao
1 文章 | 0 粉(fen)絲
原(yuan)創

基于OpenSearch搜索引擎的Search請求及插件開發簡介

2024-05-22 03:16:21
96
0

OpenSearch簡介

OpenSearch 是一個社區驅動的(de)(de)開源搜索(suo)引擎和分析組件(jian)(jian),開發人(ren)員使(shi)用(yong)該(gai)套件(jian)(jian)來攝取(qu)、搜索(suo)、可(ke)視(shi)化和分析數據。 OpenSearch 由數據存(cun)儲和搜索(suo)引擎 (OpenSearch)、可(ke)視(shi)化和用(yong)戶界面(mian) (OpenSearch Dashboards) 以(yi)及服務器端數據收集器 (Data Prepper) 組成(cheng)。 用(yong)戶可(ke)以(yi)使(shi)用(yong)一系(xi)列增(zeng)強搜索(suo)、分析、可(ke)觀察性(xing)、安全(quan)性(xing)、機器學習等的(de)(de)插件(jian)(jian)來擴展 OpenSearch 的(de)(de)功能(neng)。

搜索引擎Search請求框架分析

搜素引擎原理.jpeg
我們將一次搜索引擎的Search請求進行拆解:
大(da)多數情況下(xia)都(dou)是query then fetch,可以將這(zhe)個過(guo)程主(zhu)要(yao)(yao)分為3個主(zhu)要(yao)(yao)階段(duan):

  1. 集群管理階段:獲取需要調用的分片相關信息。
  2. 倒排索引召回階段:在每個分片內,進行具體search操作----切詞、召回、匯總(順帶推薦)。
  3. 正排撈取階段:根據docid,在分片fetch操作—根據域撈取數據、篩選數據、排序等操作。

完成(cheng)如上遍(bian)歷以后,搜索(suo)引擎將搜索(suo)結果以Json的形式(shi)返(fan)回給Client端,其中,OpenSearch可以認為僅僅是(shi)一個內(nei)部(bu)調度工具(ju)和管(guan)理平(ping)臺,核心和底(di)層就是(shi)Lucence,最基本(ben)的倒(dao)排(pai)(pai)、正排(pai)(pai)、單獨倒(dao)排(pai)(pai)這(zhe)些思想全部(bu)抽象在Lucence中。

OpenSearch插件開發

優勢&收益

OpenSearch支持了(le)(le)插件開(kai)發的(de)(de)機(ji)制(zhi)(zhi),在此機(ji)制(zhi)(zhi)下,用戶可以在不修改OpenSearch源碼(ma)的(de)(de)基礎上,通過編(bian)寫接口API的(de)(de)方式,為Opensearch增加諸多功(gong)能(neng),極(ji)大(da)豐富了(le)(le)OpenSearch的(de)(de)功(gong)能(neng)。這(zhe)樣無侵(qin)入式的(de)(de)開(kai)發,既保留了(le)(le)代(dai)碼(ma)的(de)(de)穩定性和(he)健壯性,也可以在高可用集群的(de)(de)基礎上,為解(jie)決定制(zhi)(zhi)化需求新增新的(de)(de)功(gong)能(neng)。

切入點

插件開發(fa)主要(yao)從以下幾個API入(ru)手:

  • ActionPlugin Restful API命令請求插件,擴展性實現最基礎的插件
  • AnalysisPlugin 主要的跟分詞、過濾相關的插件,也是最為活躍的改動的插件,自定義切詞必須走這里
  • ClusterPlugin 集群管理插件,自定義集群管理策略
  • DiscoveryPlugin 結點發現插件
  • IngestPlugin 數據接入插件
  • MapperPlugin 映射相關的插件
  • NetworkPlugin 網絡傳輸相關插件
  • RepositoryPlugin 存儲、快照等相關插件
  • ScriptPlugin 腳本插件,主推painless
  • SearchPlugin 查詢插件,這是最主要的和search相關的插件,提供了教豐富也很復雜的功能
  • ReloadablePlugin 重啟相關插件

插件原理簡介

插件原理.png

1、插(cha)件的(de)加載(zai)時機(ji)是在節(jie)點啟動創建(jian)的(de)時候(hou)中會掃描Opensearch的(de)安裝目錄下的(de)plugins和(he)module的(de)插(cha)件列表,并通過(guo)PluginService進行解(jie)析插(cha)件。

2、PluginFilter是用來識別(bie)(bie)plugin類(lei)別(bie)(bie)的一個(ge)方法,通過每個(ge)插件(jian)實現(xian)的接(jie)口將所(suo)有插件(jian)分類(lei)并分發給Opensearch不同的服務組件(jian)進行注冊。

3、在node不同的服(fu)(fu)務(wu)啟動過程中會讀取每個和自己相關的組件進行擴展,最終(zhong)插(cha)件都會形(xing)成服(fu)(fu)務(wu)提(ti)供給集群使(shi)用(比如SearchPlugin最終(zhong)會在searchTransportService中提(ti)供服(fu)(fu)務(wu))




以上就是(shi)OpenSearch搜(sou)索(suo)引(yin)擎(qing)的Search請求及基(ji)本(ben)插件開發的簡(jian)介,歡迎同學們指正

文章來自個人專欄
文(wen)章 | 訂閱
0條評論
0 / 1000
請輸入你的評論
0
0