久久精品精选,精品九九视频,www久久只有这里有精品,亚洲熟女乱色综合一区
    分享

    你用過Elasticsearch Percolate 反向檢索嗎?

     銘毅天下 2021-12-24

    題記

    percolator query 大家肯定在文檔中見過,但實際業務中則較少用到。

    本文探究一下percolator query的使用方法、原理、適用場景。

    1、什么是percolator查詢

    percolator中文含義:滲透器。

    percolator query等價于滲透查詢或者反向查詢

    我們相信大多數Elasticsearch開發人員都會按照慣例進行思考,我們為數據建模并將其存儲在索引中。然后,他們通過搜索API定義查詢以檢索這些文檔。

    percolator query 的原理則完全相反,如下圖所示:

    您將查詢存儲到索引中,然后通過Percolate API定義文檔以檢索這些查詢。

    也就是:

    • 傳統查詢,根據查詢語句的查詢條件返回文檔。query->document。
    • 而percolator滲透查詢,根據文檔返回與之匹配的查詢語句。document->query。

    2、percolator 查詢的應用場景

    舉例:提供一個存儲用戶興趣的平臺,以便在每次有新內容進入時將正確的內容(通知警報)發送給正確的用戶。

    舉例:用戶訂閱了特定主題,以便一旦該主題的新文章出現,就會向感興趣的用戶發送通知。

    應用場景如下:

    • 價格監控
    • 新聞警報
    • 股票警告
    • 日志監控
    • 天氣預報
    • 庫存警報
    • ......

    3、實戰一把

    3.1 實際業務需求

    閾值告警業務場景——當指定字段count值大于閾值時候,報警提示。

    3.2 percolator mapping定義

    DELETE my-index
    PUT /my-index
    {
    "mappings": {
    "properties": {
    "threshold": {
    "type": "long"
    },
    "count": {
    "type": "long"
    },
    "query": {
    "type": "percolator"
    }
    }
    }
    }

    注意:percolator是等價于:keyword、long、Integer的數據類型。

    "query": {
    "type": "percolator"
    }

    這種定義結構是不可以修改的。

    3.3 插入文檔

    PUT /my-index/_doc/1
    {
    "threshold": 100,
    "query": {
    "bool": {
    "must": {
    "range": {
    "count":{
    "gt":100
    }
    }
    }
    }
    }
    }

    3.4 查詢實現

    GET /my-index/_search
    {
    "query": {
    "percolate": {
    "field": "query",
    "documents": [
    {
    "count": 1
    },
    {
    "count": 50
    },
    {
    "count": 120
    },
    {
    "count": 150
    }
    ]
    }
    }
    }

    返回結果(部分):

    {
    "took" : 4,
    .......省略.....
    },
    "fields" : {
    "_percolator_document_slot" : [
    2,
    3
    ]
    }
    }
    ]
    }
    }

    其中:"_percolator_document_slot” 指代的是:文檔position,從0開始計數。

    4、percolator 查詢如何實現?

    第一:通過使用DSL將用戶的待設置的預警條件構造成Elasticsearch query語句,就好像它是一個文檔一樣,導入Elasticsearch索引。

    第二:每次發布新文章時,都無需對其編入索引(索引化),就可以對其進行過濾,以了解文檔值是否達到閾值。

    第三:根據返回結果_percolator_document_slot,決定是否預警及精確值預警。

    參考:

    [1] https://www./elasticsearch-percolator-query-implementation-in-ruby/

    [2] https:///2019/11/14/how-percolate-queries-in-elasticsearch-make-alerting-a-breeze/

    [3] https:///questions/21536599/what-does-percolator-mean-do-in-elasticsearch


      轉藏 分享 獻花(0

      0條評論

      發表

      請遵守用戶 評論公約

      類似文章 更多

      主站蜘蛛池模板: 少妇高潮水多太爽了动态图| 婷婷色爱区综合五月激情韩国| 99国精品午夜福利视频不卡99| 国产欧美VA天堂在线观看视频 | 国产做无码视频在线观看| 无码熟妇人妻AV在线电影| 2020年最新国产精品正在播放| 国内综合精品午夜久久资源| 国产高清在线男人的天堂| 西西人体44WWW高清大胆| 中文字幕av日韩有码| 伊人热热久久原色播放WWW| 国产日韩一区二区在线| 日韩放荡少妇无码视频| 国内不卡不区二区三区| 无码AV动漫精品一区二区免费| 精品人妻二区中文字幕| 99久久久精品免费观看国产| 人妻系列无码专区免费| 丰满少妇内射一区| 亚洲另类精品无码专区| 国产AV福利第一精品| 日本乱偷人妻中文字幕在线| 国产在线欧美日韩精品一区| 国产成人午夜福利在线播放| 久久国产福利播放| 亚洲欧美日韩在线码| 色婷婷在线精品国自产拍| 国产萌白酱喷水视频在线观看| 日韩av综合免费在线| 欧美丰满熟妇BBB久久久| 中文字幕无码久久精品| 亚洲精品国产一二三区| 精品人妻少妇嫩草AV无码专区| 国产尤物AV尤物在线看| 中文字幕人妻在线精品| 国产普通话对白刺激| 高清无码一区二区在线观看吞精| 久久天天躁狠狠躁夜夜婷 | 中文字幕无码久久精品| 2021国产精品视频网站|