精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

借助ChatGPT快速上手ElasticSearch dsl

人工智能
本著快速出活/快速解決問題的心態,ChatGPT確實提升了工作效率。不過在解決需求之后,還是要補補課,了解下ElasticSearch的用法和工作機制。因為ChatGPT是語言模型,一旦邏輯復雜起來,ChatGPT就開始瞎說了。

作為一個SQL玩家,接觸到 ElasticSearch 以后,被其dsl奇奇怪怪的寫法所困擾,比如 bool should filter 什么場景下應該嵌套,什么時候 bool query是必須的,什么時候可以干掉。排查問題時,不可避免地需要手寫dsl,經常收到ES報錯。

為了解決這個問題,我嘗試讓ChatGPT給我做翻譯,效果還不錯。下面我們按照場景來看。

場景一: 列表模糊查詢

在B端后臺系統的列表頁里,我們通常可以看到很多篩選框。產品經理經常把按 ID 和 Name 模糊匹配的功能放到一個篩選框,名曰“更好的用戶體驗”。如果用SQL寫的話,非常簡單:

select * from user 
where client_id = 123 
and  user_id like '%張三%' or user_name like '%張三%';

如果存儲在MySQL,加上client_id索引就可以大大減少篩選出的數據量,性能不會太差。

如果數據量非常大,那就用ES吧。我們可以對ChatGPT這樣提問:

提問開始:

ES index 名字 "user",有三個字段

  1. user_id string
  2. user_name string
  3. client_id int

我要查詢帶有以下條件的記錄:client_id = 123 and (user_name = '張三' or user_id = '張三')。dsl應該怎么寫?

回復開始:

要查詢 "user" 索引中滿足以下條件的記錄:client_id = 123 and (user_name = '張三' or user_id = '張三'),可以使用 bool 查詢結合 term 查詢來實現。以下是相應的 DSL 查詢示例:

GET /user/_search
{
  "query": {
    "bool": {
      "filter": [
        {
          "term": {
            "client_id": 123
          }
        },
        {
          "bool": {
            "should": [
              {
                "term": {
                  "user_name": "張三"
                }
              },
              {
                "term": {
                  "user_id": "張三"
                }
              }
            ]
          }
        }
      ]
    }
  }
}

在這個查詢中,我們使用了 bool 查詢來確保指定的條件被用于過濾文檔。

在 filter 子句中,我們有兩個條件:一個是針對 "client_id" 字段的值為 123 的條件,使用了 term 查詢。第二個條件是一個嵌套的 bool 查詢,其中包含一個 should 子句。should 子句中包含了兩個 term 查詢:一個是針對 "user_name" 字段,另一個是針對 "user_id" 字段,它們都檢查值是否為 "張三"。通過使用 should 子句,我們表示其中任一條件匹配即可。

這個 DSL 查詢將返回滿足 client_id 為 123,并且用戶名為 "張三" 或用戶ID為 "張三" 的文檔記錄。

回復結束:

ChatGPT 不只給出了答案,也給出了解釋,我們針對業務里的index做一下修改就好。

場景二: 根據聚合結果進行過濾 having

基于上面的 user 表,我們再加一個 ticket_id 字段,表示處理過的工單,我們要查出處理工單超過100個的用戶。SQL可以這樣寫:

select 
  user_id, 
  max(user_name) as user_name,
  count(ticket_id) as ticket_cnt 
from user 
where client_id = 123
having count(ticket_id) > 100;

向ChatGPT提問:

提問開始:

ES index 名字 "user",包含以下字段:

  1. user_id string
  2. user_name string
  3. client_id int
  4. ticket_id

按照 user_id 聚合,查詢 count(ticket_id) > 100 的 user_id,以及user_id對應的 user_name

回復開始:
要按照 "user_id" 字段進行聚合,并查詢符合條件 count(ticket_id) > 100 的 "user_id",以及對應的 "user_name",可以使用聚合查詢中的 terms 聚合和 bucket_selector 管道聚合來實現。以下是相應的 DSL 查詢示例:

GET /user/_search
{
  "size": 0,
  "aggs": {
    "users": {
      "terms": {
        "field": "user_id",
        "size": 10,
        "min_doc_count": 101  // 設置最小文檔數,只返回 count(ticket_id) > 100 的聚合結果
      },
      "aggs": {
        "user_name": {
          "terms": {
            "field": "user_name",
            "size": 1
          }
        },
        "ticket_count": {
          "value_count": {
            "field": "ticket_id"
          }
        },
        "bucket_filter": {
          "bucket_selector": {
            "buckets_path": {
              "count": "ticket_count"
            },
            "script": "params.count > 100"  // 僅保留 count(ticket_id) > 100 的聚合桶
          }
        }
      }
    }
  }
}

在這個查詢中,我們使用了 terms 聚合對 "user_id" 字段進行分組,并在聚合結果中嵌套了 user_name 字段的 terms 聚合和 ticket_id 字段的 value_count 聚合。

在 terms 聚合中,我們設置了 min_doc_count 參數為 101,以僅返回滿足 count(ticket_id) > 100 的聚合桶。這樣可以過濾掉不滿足條件的聚合結果。

最終,我們使用 bucket_selector 管道聚合來進行桶過濾,僅保留滿足條件 params.count > 100 的聚合桶。這樣,最終的聚合結果中將只包含滿足條件的 "user_id" 和對應的 "user_name"。

請注意,根據您的具體需求,您可能需要根據實際情況調整聚合查詢中的參數和設置,如設置合適的 size 值來控制返回的聚合桶數量等。

回復結束。

場景三: 聚合以后取topK

向ChatGPT提問:

提問開始:

ES index 名字 "user",包含以下字段:

  1. user_id string
  2. user_name string
  3. client_id int
  4. ticket_id

我要查詢處理ticket數量top10 的 user_id 以及對應的user_name

回復開始:
要查詢處理 ticket 數量排名前 10 的 "user_id",以及對應的 "user_name",可以使用 terms 聚合和 top_hits 子聚合來實現。以下是相應的 DSL 查詢示例:

GET /user/_search
{
  "size": 0,
  "aggs": {
    "top_users": {
      "terms": {
        "field": "user_id",
        "size": 10,
        "order": {
          "ticket_count": "desc"
        }
      },
      "aggs": {
        "user_name": {
          "terms": {
            "field": "user_name",
            "size": 1
          }
        },
        "ticket_count": {
          "value_count": {
            "field": "ticket_id"
          }
        },
        "top_user_hits": {
          "top_hits": {
            "size": 1
          }
        }
      }
    }
  }
}

在這個查詢中,我們使用了 terms 聚合對 "user_id" 字段進行分組,并按照 "ticket_count" 字段的降序對分組結果進行排序。

在 terms 聚合中,我們設置了 size 參數為 10,以僅返回前 10 個處理 ticket 數量最多的 "user_id"。

在每個聚合桶中,我們還嵌套了 user_name 字段的 terms 聚合和 ticket_id 字段的 value_count 聚合,分別用于獲取對應的 "user_name" 和計算 ticket 數量。

此外,我們使用了 top_hits 子聚合來獲取每個聚合桶中的匹配文檔的詳細信息。在這里,我們設置了 size 參數為 1,以僅獲取每個聚合桶中的一條文檔信息。

最終,聚合查詢的結果將包含處理 ticket 數量排名前 10 的 "user_id",對應的 "user_name",以及每個用戶最新的一條文檔信息。

請注意,根據實際情況,您可能需要根據具體需求調整聚合查詢中的參數和設置,如設置合適的 size 值來控制返回的聚合桶數量,以及添加其他的聚合或過濾條件等。

回復結束。

本著快速出活/快速解決問題的心態,ChatGPT確實提升了工作效率。不過在解決需求之后,還是要補補課,了解下ElasticSearch的用法和工作機制。因為ChatGPT是語言模型,一旦邏輯復雜起來,ChatGPT就開始瞎說了。

責任編輯:姜華 來源: 今日頭條
相關推薦

2024-03-26 00:00:01

2021-09-03 11:26:39

分詞器ElasticSear

2020-11-17 08:43:20

ElasticSear

2020-09-28 11:09:54

SQLDSL

2023-10-29 09:11:03

DSL語法

2023-05-05 19:16:22

Python數據清洗

2023-02-16 08:26:41

2011-07-26 13:58:17

LINQ

2022-12-30 09:12:55

查詢es搜索值

2020-12-02 08:31:47

Elasticsear

2023-11-13 12:48:32

語言DSL

2022-08-21 07:17:16

LinkerdKubernetes服務網格

2022-08-19 07:13:45

SQL方法編程

2021-12-10 08:13:02

MatplotlibpythonAPI

2013-11-19 12:53:33

OA信息化

2011-07-25 15:42:58

XML

2024-01-29 00:36:50

Backstage設施工具

2010-05-18 10:17:11

2017-07-05 17:50:52

KotlinJava程序員

2024-11-19 09:15:40

搜索類型MySQL
點贊
收藏

51CTO技術棧公眾號

国产免费毛卡片| 久久99欧美| 欧美精品久久久久性色| 精品人人人人| 欧美日韩一区三区四区| 欧美中文字幕在线观看视频 | 99在线影院| 成年免费在线观看| 99精品在线| 亚洲国产精品美女| 日本不卡一区在线| 欧美13videosex性极品| 日韩一区在线看| 久久五月天婷婷| 国产精品视频久久久久久| 99国产成+人+综合+亚洲欧美| 日韩一区二区三| 日本一本二本在线观看| 国产精品一区二区三区视频网站| 97久久久精品综合88久久| 成人www视频在线观看| 日韩精品一区二区三区国语自制| 93在线视频精品免费观看| 亚洲激情在线观看| √天堂资源在线| 香蕉视频亚洲一级| 精品国产1区2区| 日韩亚洲欧美一区二区| 在线免费观看黄色| 国产欧美日韩一区二区三区在线观看| 超碰97在线人人| 91无套直看片红桃| 天堂一区二区在线| 97色在线视频| 国产主播在线播放| 欧美激情91| 久久激情视频久久| 日韩av片在线免费观看| 精品免费av| 精品亚洲男同gayvideo网站 | 亚洲天堂中文网| 久久不射网站| 欧美性视频网站| 欧美福利视频一区二区| 伊人久久综合| 欧美激情日韩图片| 精品无码av在线| 欧美福利专区| 九九热最新视频//这里只有精品 | 好吊成人免视频| 99久久久精品视频| 日本不卡影院| 亚洲成av人综合在线观看| 日韩视频一二三| 污视频网站在线免费| 一区二区在线观看免费视频播放| 婷婷视频在线播放| 成人在线观看免费网站| 亚洲精品美腿丝袜| 亚洲中文字幕无码一区二区三区 | 亚洲免费成人在线| 成人看片黄a免费看在线| 成人高清在线观看| 欧美特级特黄aaaaaa在线看| 国产真实乱子伦精品视频| 成人黄色午夜影院| 99re只有精品| 成人av中文字幕| 国内精品久久国产| 免费在线黄色电影| 国产精品亲子伦对白| 一级日韩一区在线观看| 顶级网黄在线播放| 亚洲成人一区二区| 国产裸体舞一区二区三区| xxxxx.日韩| 91精品国产色综合久久ai换脸| 91视频福利网| 国内精品免费| 亚洲欧美国产精品久久久久久久| 成人无码av片在线观看| 天天做综合网| 98精品国产自产在线观看| 久久艹免费视频| 捆绑紧缚一区二区三区视频| 99在线首页视频| 黄色av免费在线看| 亚洲欧美乱综合| 国产男女免费视频| 岛国精品在线| 亚洲成年网站在线观看| av网在线播放| 狠狠88综合久久久久综合网| 亲爱的老师9免费观看全集电视剧| 中文区中文字幕免费看| 国产传媒一区在线| 日韩亚洲欧美精品| 色yeye免费人成网站在线观看| 欧美日韩亚洲天堂| а 天堂 在线| 台湾亚洲精品一区二区tv| www.99久久热国产日韩欧美.com| 国产一级二级毛片| 麻豆国产一区二区| 国内精品久久国产| 国产激情视频在线| 在线区一区二视频| 深田咏美中文字幕| 91精品综合久久久久久久久久久| 97超碰蝌蚪网人人做人人爽| 国产精品熟女久久久久久| www亚洲一区| av无码久久久久久不卡网站| 精品久久久网| 亚洲欧美激情在线视频| 麻豆91精品91久久久| 久久亚洲欧洲| 国产精品日韩一区二区三区 | 中文一区一区三区高中清不卡| av在线观看地址| 欧美系列精品| 国产亚洲精品一区二555| 黄色激情视频在线观看| 国产又粗又猛又爽又黄91精品| 日本一区视频在线播放| 蜜桃视频www网站在线观看| 日韩一区二区三区免费看 | 三区四区不卡| 国产精品www| 欧美另类自拍| 欧美日韩国产一区二区| 少妇熟女视频一区二区三区 | 中文字幕国产精品一区二区| koreanbj精品视频一区| 97视频一区| 欧美精品一区二区免费| 国产乱淫片视频| 国产精品亲子乱子伦xxxx裸| 激情网站五月天| 久久精品免视看国产成人| 日韩中文字幕国产精品| 亚洲在线免费观看视频| 国产精品色哟哟| 国产又大又黄又粗又爽| 成人一二三区| 国产日本欧美在线观看| 日本视频不卡| 欧美精品粉嫩高潮一区二区| 日韩精品久久久久久久的张开腿让| 日本一不卡视频| 四虎影院一区二区三区 | japanese中文字幕| 久久一综合视频| 日韩不卡av| 日本午夜精品久久久久| 日韩专区在线播放| 99久久免费国产精精品| 亚洲情趣在线观看| 一卡二卡三卡四卡五卡| 国内精品久久久久久久97牛牛 | 欧美最猛黑人xxxx黑人猛叫黄| 日本免费不卡视频| 天天影视色香欲综合网老头| 精品久久久久久中文字幕人妻最新| 中文一区在线| 亚洲国产精品123| 9.1麻豆精品| 欧美激情免费看| 深夜福利免费在线观看| 欧美色网一区二区| 亚洲女人久久久| 成人免费视频一区二区| 国产免费成人在线| 色135综合网| 99在线热播| 日本免费一区二区三区四区| www.99久久热国产日韩欧美.com| 亚洲AV无码国产精品午夜字幕| 亚洲成人精品一区二区| 免费看的黄色网| 国产成人精品亚洲777人妖 | 精品一区二区在线免费观看| 欧美黑人在线观看| 久久99久久人婷婷精品综合 | 一区视频在线播放| 国产xxx在线观看| 久久久久久婷| 男女爱爱视频网站| 性欧美lx╳lx╳| 成人免费看黄网站| 成人教育av| 欧美成人精品h版在线观看| 性猛交xxxx| 在线成人午夜影院| 无码人妻精品一区二区蜜桃色欲| 亚洲色图欧洲色图婷婷| 精品人妻一区二区三区视频| 国产美女在线精品| 国产一区亚洲二区三区| 欧美大片一区| 亚洲欧洲免费无码| 亚洲动漫精品| 懂色av一区二区三区在线播放| 最新日韩三级| 午夜精品久久久久久99热| 日本中文字幕视频在线| 亚洲码在线观看| 成 人片 黄 色 大 片| 欧美三级电影网站| 日本三级2019| 一区二区欧美视频| 国产福利在线导航| 久久久久久久综合色一本| 亚洲图片欧美另类| 国内精品国产成人| 国产wwwxx| 亚洲一区图片| 高清欧美精品xxxxx| 一区二区国产在线| 亚洲精品日韩在线观看| 国产99久久精品一区二区300| 成人国产1314www色视频| 国产亚洲观看| 成人免费观看网址| 看片一区二区| 国产精品高清免费在线观看| 三级中文字幕在线观看| 久久久久久999| 特级毛片在线| 欧美理论电影在线观看| 米奇精品一区二区三区| 中文字幕日韩综合av| 精品一二三区视频| 亚洲欧美国内爽妇网| 天堂在线观看免费视频| 亚洲成人999| 人妻偷人精品一区二区三区| 日韩免费性生活视频播放| 国产三级小视频| 正在播放一区二区| 91在线视频国产| 6080亚洲精品一区二区| 91精品国产乱码久久久久| 欧美日韩国产精品成人| 美女尤物久久精品| 免费成人看片网址| 国产欧美一区二区三区米奇| 99在线视频首页| 北条麻妃在线一区二区免费播放| av一本久道久久波多野结衣| 日韩视频1区| 国产高清一区视频| 国产精品22p| 精品国产福利| 亚洲精品蜜桃乱晃| 视频在线99| 国产精品成人一区二区不卡| 中文字幕一区二区三区最新| 亚洲色图国产| 成人午夜免费在线视频| 在线日韩电影| 自慰无码一区二区三区| 日本欧美一区二区| 一级黄色片在线免费观看| 国产精品影音先锋| 国产麻豆剧传媒精品国产| eeuss鲁片一区二区三区在线观看| 亚洲中文字幕一区| 国产午夜精品福利| 男女全黄做爰文章| 亚洲一区在线观看免费| 天堂а√在线中文在线新版 | 久久精品xxx| 久久高清国产| 欧美日韩一区二区三区69堂| 国产在线精品一区二区三区不卡| 绯色av蜜臀vs少妇| 91浏览器在线视频| 欧美aaa级片| 亚洲在线观看免费视频| 黄色片中文字幕| 欧美群妇大交群中文字幕| 黄色av中文字幕| 亚洲精品一区二区网址| 伦xxxx在线| 97国产在线视频| 精品176极品一区| 国产精品久久久久久免费观看| 国产成人影院| 国产树林野战在线播放| 国产视频一区三区| 午夜国产福利在线观看| 99久久综合精品| 糖心vlog免费在线观看| 精品国产91久久久久久| 一区二区三区黄色片| 亚洲精品理论电影| 国产色在线观看| 奇米4444一区二区三区| 亚洲国产欧美在线观看| 日本一区二区精品| 欧美精品网站| 中文字幕 91| wwwwww.欧美系列| 欧美一区免费观看| 91黄色免费网站| 人妻一区二区三区| 久久天天躁狠狠躁夜夜爽蜜月| 欲香欲色天天天综合和网| 91精品国产91久久久久青草| 日本成人中文| 欧美日韩激情四射| 寂寞少妇一区二区三区| 日本性高潮视频| 午夜av一区二区| www.av日韩| 俺去啦;欧美日韩| 欧美一区 二区 三区| 久久精品99| 国内精品久久久久久久97牛牛 | 亚洲电影男人天堂| 国产xxxx振车| 国产高清成人在线| 国产美女久久久久久| 欧美视频你懂的| 韩国精品视频| 国产成人av网址| 亚洲va久久| 国产性xxxx18免费观看视频| 懂色av一区二区三区免费看| 中文字幕在线观看2018| 欧美色图12p| 国产日韩精品在线看| 欧美中文在线字幕| 天天久久夜夜| 成年人观看网站| 2014亚洲片线观看视频免费| 日韩欧美不卡视频| 亚洲国产精品人人爽夜夜爽| 51精品视频| 精品一区二区三区日本| 亚洲激情午夜| 黄色短视频在线观看| 精品久久久中文| 手机福利小视频在线播放| 欧亚精品在线观看| 国产成人ay| 免费涩涩18网站入口| 国产精品视频免费| 国产欧美一级片| 精品中文字幕在线2019| 99亚洲乱人伦aⅴ精品| av免费看网址| 99re免费视频精品全部| 久久夜色精品国产噜噜亚洲av| 亚洲欧美一区二区三区在线| 欧美一级大黄| 亚洲乱码国产乱码精品天美传媒| 麻豆91在线观看| 国产稀缺精品盗摄盗拍| 日韩欧美成人激情| av岛国在线| 欧美黄色直播| 蜜桃视频一区二区三区 | 午夜精品久久久久久久| 亚洲欧洲综合在线| 国产精品久久久久高潮| 欧美激情黄色片| av在线天堂网| 色综合天天性综合| 免费观看在线黄色网| 97超碰人人看人人| 亚洲一区二区三区高清| av男人的天堂av| 欧美一区二区免费| 国产不卡123| 亚洲v国产v在线观看| 国产黄色91视频| 黄色片网站在线免费观看| 中文字幕最新精品| 中文字幕视频精品一区二区三区| 日日橹狠狠爱欧美超碰| 国产精品久久午夜| 好吊视频一区二区三区| 国产精品久久久久9999| 中文字幕一区二区三三| 国产三级视频网站| 制服丝袜中文字幕一区| 97蜜桃久久| 尤物国产精品| 99久久久免费精品国产一区二区| 中文字幕一区二区三区四区视频 | 一区二区三区视频在线播放| 国产91色综合久久免费分享| 波多野结衣视频免费观看| 欧美日本高清一区| 日韩美女一区二区三区在线观看| 性活交片大全免费看| 欧美日韩电影在线| 蜜桃视频动漫在线播放|