日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 编程问答 >内容正文

编程问答

Elasticsearch6.X 去重

發(fā)布時(shí)間:2024/1/17 编程问答 19 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Elasticsearch6.X 去重 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

1、題記

Elasticsearch有沒(méi)有類似mysql的distinct的去重功能呢?

1)如何去重計(jì)數(shù)??
類似mysql: select distinct(count(1)) from my_table;?
2)如何獲取去重結(jié)果。?
類似mysql:SELECT DISTINCT name,age FROM users;

2、需求

1)對(duì)ES的檢索結(jié)果進(jìn)行去重統(tǒng)計(jì)計(jì)數(shù)。?
2)對(duì)ES的檢索結(jié)果去重后顯示

3、分析

1)統(tǒng)計(jì)計(jì)數(shù)需要借助ES聚合功能結(jié)合cardinality實(shí)現(xiàn)。?
2)去重顯示結(jié)果有兩種方式:?
方式一:使用字段聚合+top_hots聚合方式。?
方式二:使用collapse折疊功能。

4、DSL源碼

1)統(tǒng)計(jì)去重?cái)?shù)目。

GET books/_search { "size":0, "aggs" : { "books_count" : { "cardinality" : { "field" : "title.keyword" } } } }

2)返回去重內(nèi)容

方式一:top_hits聚合

GET books/_search { "query": { "match_all": {} }, "aggs": { "type": { "terms": { "field": "title.keyword", "size": 10 }, "aggs": { "title_top": { "top_hits": { "_source": { "includes": ["title"] }, "sort": [ { "title.keyword": { "order": "desc" } } ], "size":1 } } } } }, "size": 0 }

方式二:折疊

GET books/_search { "query": { "match_all":{} }, "collapse": { "field": "title.keyword" } }

方式二較方式一:?
1)簡(jiǎn)化;?
2)性能比aggs的實(shí)現(xiàn)要好很多。?
更多DSL詳見(jiàn):http://t.cn/RmafXMJ

5、注意事項(xiàng)&小結(jié)

1、折疊功能ES5.3版本之后才發(fā)布的。?
2、聚合&折疊只能針對(duì)keyword類型有效;?
3、只要思想不滑坡,方案總比問(wèn)題多!

參考:?
https://elasticsearch.cn/article/132

總結(jié)

以上是生活随笔為你收集整理的Elasticsearch6.X 去重的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。