欧美一级特黄大片做受成人-亚洲成人一区二区电影-激情熟女一区二区三区-日韩专区欧美专区国产专区

五分鐘學(xué)會(huì)Elasticsearch查詢代理設(shè)計(jì)-創(chuàng)新互聯(lián)

Elasticsearch(ES)是一款基于Lucene的開源分布式搜索引擎。由于其穩(wěn)定、可靠、快速、安裝使用方便等優(yōu)良特性,目前在業(yè)界已廣泛使用。ES用途主要分兩個(gè)方向:分布式實(shí)時(shí)文件存儲(chǔ) 以及 分布式實(shí)時(shí)分析搜索引擎。

專注于為中小企業(yè)提供做網(wǎng)站、網(wǎng)站制作服務(wù),電腦端+手機(jī)端+微信端的三站合一,更高效的管理,為中小企業(yè)梁平免費(fèi)做網(wǎng)站提供優(yōu)質(zhì)的服務(wù)。我們立足成都,凝聚了一批互聯(lián)網(wǎng)行業(yè)人才,有力地推動(dòng)了數(shù)千家企業(yè)的穩(wěn)健成長(zhǎng),幫助中小企業(yè)通過網(wǎng)站建設(shè)實(shí)現(xiàn)規(guī)模擴(kuò)充和轉(zhuǎn)變。

一、為什么需要查詢代理

屏蔽復(fù)雜的DSL

某二手交易平臺(tái)使用ES,主要用來支持商品、用戶等(以下統(tǒng)稱文檔)的搜索和分析。

ES為查詢功能提供了基于Json的完整Query DSL,功能非常強(qiáng)大,但同時(shí)也略顯復(fù)雜,學(xué)習(xí)成本不低。

以搜索昵稱為化仁的用戶為例,DSL大致如下:

json {"from" : 0, "size" : 20, "query" : {"bool" : { "must" : { "multi_match" : {"query" : "化仁", "fields": [ "nickname", "nickname.pinyin" ], "type" :"best_fields", "operator" : "OR","minimum_should_match" : "1", "tie_breaker" : 1.0} }, "filter" : { "term" : { "del" : 0 } } } } }

如果讓每個(gè)業(yè)務(wù)方根據(jù)需要編寫DSL實(shí)現(xiàn)相應(yīng)功能,工作量及維護(hù)復(fù)雜程度可想而知!

避免依賴限制擴(kuò)散

·        ES要求客戶端和服務(wù)端JDK版本盡量保持一致

·        ES2.x要求JDK7以上

·        ES5.x要求JDK8以上

·        大量Jar包依賴

·        其它可能出現(xiàn)的限制

使用查詢代理之后,各業(yè)務(wù)方無(wú)需引入上述依賴和限制

松耦合及管控

屏蔽底層引擎變動(dòng)對(duì)線上業(yè)務(wù)的影響,例如底層引擎偶爾需要升級(jí)或重啟,此時(shí),只需查詢代理層實(shí)現(xiàn)主從切換等機(jī)制,引擎的升級(jí)可做到對(duì)線上業(yè)務(wù)完全透明。

此外,查詢代理還可以屏蔽業(yè)務(wù)方錯(cuò)誤的危險(xiǎn)操作,防止集群直接暴露給各業(yè)務(wù)方,從而降低不確定因素對(duì)系統(tǒng)的影響。

二、查詢代理層實(shí)現(xiàn)

業(yè)界做法

業(yè)界有將SQL作為代理層語(yǔ)言,實(shí)現(xiàn)一套SQL轉(zhuǎn)DSL的解析器,這種方式針對(duì)將ES作為DB使用的情況非常合適。但是,前面提到過,某二手交易平臺(tái)的使用場(chǎng)景是文檔的搜索,其中涉及到文檔的復(fù)雜排序,SQL無(wú)法完整實(shí)現(xiàn)目標(biāo)需求,而且文檔屬性非常多的情況下,容易產(chǎn)生語(yǔ)句過于復(fù)雜的問題。

方案

種種因果,我們最終的實(shí)現(xiàn)方案如下:

請(qǐng)求語(yǔ)法

·        語(yǔ)句分為query域和param域,query域?yàn)楹Y選召回條件,param域?yàn)榕判騾?shù);

·        域?yàn)閷傩宰侄蔚慕M合;

·        域使用URL參數(shù)語(yǔ)法表述;

還以搜索昵稱為化仁的用戶為例,請(qǐng)求如下:

query:from=1&size=10&nickname=化仁 param: null 請(qǐng)求會(huì)自動(dòng)轉(zhuǎn)換成前面提到的DSL例子??梢钥吹?,相比之下還是非常簡(jiǎn)單的。

實(shí)現(xiàn)邏輯

五分鐘學(xué)會(huì)Elasticsearch查詢代理設(shè)計(jì)

補(bǔ)充說明:

·        根據(jù)解析方式,字段大致分為:內(nèi)置字段 (起始位置、獲取數(shù)量、排序策略等) 和 配置字段 (字符串、數(shù)值、日期、經(jīng)緯度等,會(huì)解析成對(duì)應(yīng)ES支持的索引字段類型)

·        配置字段根據(jù)使用場(chǎng)景分為:匹配篩選型、排序參數(shù)型、字段排序型、排序打分型、二次打分型等

·        各種類型的配置字段配有配置解析器和請(qǐng)求處理器

·        處理過程中會(huì)做諸如字段默認(rèn)值、非法字段過濾等處理

·        處理過程生成query的梗概信息作為外部緩存的key值,減輕ES集群壓力

·        請(qǐng)求經(jīng)過校驗(yàn)、解析、處理后拼裝成ES的DSL,請(qǐng)求發(fā)送到系統(tǒng)分配ES集群

配置樣例:

yml entry.user:index: user type: user query_fields: - { face: id, type: Number, class: Long }- { face: nickname, type: StringMultiMatch, fieldName:"nickname,nickname.pinyin", _tie_breaker: 1 } order_strategys:default: boostMode: multiply scores: - type: NumberTermsFilter fieldName: label_idclass: Long values: "1141730738345" weight: 2

三、總結(jié)

本文從ES查詢接口的必要性出發(fā),主要講述了某二手交易平臺(tái)ES查詢接口的語(yǔ)法設(shè)計(jì)和實(shí)現(xiàn)邏輯及簡(jiǎn)要說明。其中有不合理之處,歡迎指正交流。

更多免費(fèi)技術(shù)資料及視頻

五分鐘學(xué)會(huì)Elasticsearch查詢代理設(shè)計(jì)

當(dāng)前文章:五分鐘學(xué)會(huì)Elasticsearch查詢代理設(shè)計(jì)-創(chuàng)新互聯(lián)
當(dāng)前地址:http://aaarwkj.com/article40/dgocho.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供營(yíng)銷型網(wǎng)站建設(shè)、定制開發(fā)、外貿(mào)建站、網(wǎng)站內(nèi)鏈、用戶體驗(yàn)電子商務(wù)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

網(wǎng)站建設(shè)網(wǎng)站維護(hù)公司
国产欧美日韩经典一区| 亚洲一区二区三区女同| 久久国产福利一区二区| 久久人妻蜜桃一区二区三区| 人妻中文字幕在线看粉嫩| 成人黄色小视频下载| 成人一区二区三区乱码| 国产超码片内射在线| 欧美av一区二区三区四区| 国产久精品热看久品热久热| 在线免费观看欧美黄片| 亚洲天堂免费在线播放| 先锋影音女同中文字幕| 午夜在线免费观看小视频| 老司机精品成人免费视频| 青青草老司机在线视频| 国产三级黄色大片在线免费看| 白嫩少妇情久久密月久久| 国产传媒在线观看网站| 亚洲免费麻豆一区二区三区| 十八禁网站免费在线播放| 激情网站免费在线观看| 岛国av不卡一二三区| 亚洲国产精品97视频| 在线观看国产精品女主播户外麻豆| 欧美午夜福利一级高清| 欧美黄色一区在线观看| 情侣自拍偷拍亚洲天堂区| 色哟哟91精品色哟哟| 日本欧美三级高潮受不了| 国产系列在线播放一区二区三区| 精品毛片av一区二区三区| 肥臀大屁股av在线播放| 成人精品欧美欧美一级乱黄| 综合久久—本道中文字幕| 亚洲一区二区三区精品在线| 欧美日韩一区二区激情在线| 国产高清不卡一二三区| 亚洲精品尤物福利在线一区| 超碰97精品在线观看| 国产系列在线播放一区二区三区|