新聞中心
本篇文章為大家展示了如何實(shí)現(xiàn)Elasticsearch Percolate 反向檢索,內(nèi)容簡明扼要并且容易理解,絕對能使你眼前一亮,通過這篇文章的詳細(xì)介紹希望你能有所收獲。
長治ssl適用于網(wǎng)站、小程序/APP、API接口等需要進(jìn)行數(shù)據(jù)傳輸應(yīng)用場景,ssl證書未來市場廣闊!成為成都創(chuàng)新互聯(lián)的ssl證書銷售渠道,可以享受市場價(jià)格4-6折優(yōu)惠!如果有意向歡迎電話聯(lián)系或者加微信:028-86922220(備注:SSL證書合作)期待與您的合作!
下面探究一下percolator query的使用方法、原理、適用場景。
1、什么是percolator查詢
percolator中文含義:滲透器。
percolator query等價(jià)于滲透查詢或者反向查詢。
我們相信大多數(shù)Elasticsearch開發(fā)人員都會按照慣例進(jìn)行思考,我們?yōu)閿?shù)據(jù)建模并將其存儲在索引中。然后,他們通過搜索API定義查詢以檢索這些文檔。
percolator query 的原理則完全相反,如下圖所示:

您將查詢存儲到索引中,然后通過Percolate API定義文檔以檢索這些查詢。
也就是:
傳統(tǒng)查詢,根據(jù)查詢語句的查詢條件返回文檔。query->document。 而percolator滲透查詢,根據(jù)文檔返回與之匹配的查詢語句。document->query。
2、percolator 查詢的應(yīng)用場景
舉例:提供一個(gè)存儲用戶興趣的平臺,以便在每次有新內(nèi)容進(jìn)入時(shí)將正確的內(nèi)容(通知警報(bào))發(fā)送給正確的用戶。
舉例:用戶訂閱了特定主題,以便一旦該主題的新文章出現(xiàn),就會向感興趣的用戶發(fā)送通知。
應(yīng)用場景如下:
價(jià)格監(jiān)控 新聞警報(bào) 股票警告 日志監(jiān)控 天氣預(yù)報(bào) 庫存警報(bào) ......
3、實(shí)戰(zhàn)一把
3.1 實(shí)際業(yè)務(wù)需求
閾值告警業(yè)務(wù)場景——當(dāng)指定字段count值大于閾值時(shí)候,報(bào)警提示。
3.2 percolator mapping定義
DELETE my-index
PUT /my-index
{
"mappings": {
"properties": {
"threshold": {
"type": "long"
},
"count": {
"type": "long"
},
"query": {
"type": "percolator"
}
}
}
}
注意:percolator是等價(jià)于:keyword、long、Integer的數(shù)據(jù)類型。
"query": {
"type": "percolator"
}
這種定義結(jié)構(gòu)是不可以修改的。
3.3 插入文檔
PUT /my-index/_doc/1
{
"threshold": 100,
"query": {
"bool": {
"must": {
"range": {
"count":{
"gt":100
}
}
}
}
}
}
3.4 查詢實(shí)現(xiàn)
GET /my-index/_search
{
"query": {
"percolate": {
"field": "query",
"documents": [
{
"count": 1
},
{
"count": 50
},
{
"count": 120
},
{
"count": 150
}
]
}
}
}
返回結(jié)果(部分):
{
"took" : 4,
.......省略.....
},
"fields" : {
"_percolator_document_slot" : [
2,
3
]
}
}
]
}
}
其中:"_percolator_document_slot” 指代的是:文檔position,從0開始計(jì)數(shù)。
4、percolator 查詢?nèi)绾螌?shí)現(xiàn)?
第一:通過使用DSL將用戶的待設(shè)置的預(yù)警條件構(gòu)造成Elasticsearch query語句,就好像它是一個(gè)文檔一樣,導(dǎo)入Elasticsearch索引。
第二:每次發(fā)布新文章時(shí),都無需對其編入索引(索引化),就可以對其進(jìn)行過濾,以了解文檔值是否達(dá)到閾值。
第三:根據(jù)返回結(jié)果_percolator_document_slot,決定是否預(yù)警及精確值預(yù)警。
上述內(nèi)容就是如何實(shí)現(xiàn)Elasticsearch Percolate 反向檢索,你們學(xué)到知識或技能了嗎?如果還想學(xué)到更多技能或者豐富自己的知識儲備,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道。
分享題目:如何實(shí)現(xiàn)ElasticsearchPercolate反向檢索
本文URL:http://fisionsoft.com.cn/article/pihoeh.html


咨詢
建站咨詢
