gpt4 book ai didi

Elasticsearch,如何返回两个字段的唯一值

转载 作者:行者123 更新时间:2023-12-03 01:28:34 24 4
gpt4 key购买 nike

我有一个包含 20 个不同字段的索引。我需要能够提取独特的文档,其中字段“cat”和“sub”的组合是唯一的。在 SQL 中,它看起来是这样的: select unique cat, sub from table A;我可以这样对一个字段进行操作:

{
"size": 0,
"aggs" : {
"unique_set" : {
"terms" : { "field" : "cat" }
}
}}

但是如何添加另一个字段来检查两个字段的唯一性?

谢谢

最佳答案

SQL 的 SELECT DISTINCT [cat], [sub] 可以用 Composite Aggregation 来模仿.

{
"size": 0,
"aggs": {
"cat_sub": {
"composite": {
"sources": [
{ "cat": { "terms": { "field": "cat" } } },
{ "sub": { "terms": { "field": "sub" } } }
]
}
}
}
}

返回...

"buckets" : [
{
"key" : {
"cat" : "a",
"sub" : "x"
},
"doc_count" : 1
},
{
"key" : {
"cat" : "a",
"sub" : "y"
},
"doc_count" : 2
},
{
"key" : {
"cat" : "b",
"sub" : "y"
},
"doc_count" : 3
}
]

关于Elasticsearch,如何返回两个字段的唯一值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31393973/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com