复合键的弹性搜索查询,如 SQL
Elastic search query for composite keys like in SQL
我有以下情况:
假设我有一个关系 table :
Key1 Key2 Key3 Value
A x v1 0
A x v1 10
B x v1 5
A y v2 7
A y v2 2
这里我有 (Key1, Key2, Key3) 的逻辑组合键。现在我需要具有最大值的记录。所以我期望下面的结果对应于不同的逻辑键:
Key1 Key2 Key3 Value
A x v1 10
B x v1 5
A y v2 7
现在我想为它编写一个 Elastic Search 查询。有人可以给我一些想法吗?
然后您可以像这样进行多级 terms
聚合:
{
"size": 0,
"aggs": {
"key1": {
"terms": {
"field": "key1"
},
"aggs": {
"key2": {
"terms": {
"field": "key2"
},
"aggs": {
"key3": {
"terms": {
"field": "key3"
},
"aggs": {
"doc": {
"top_hits": {
"sort": {"value": "desc"}
}
}
}
}
}
}
}
}
}
}
我有以下情况: 假设我有一个关系 table :
Key1 Key2 Key3 Value
A x v1 0
A x v1 10
B x v1 5
A y v2 7
A y v2 2
这里我有 (Key1, Key2, Key3) 的逻辑组合键。现在我需要具有最大值的记录。所以我期望下面的结果对应于不同的逻辑键:
Key1 Key2 Key3 Value
A x v1 10
B x v1 5
A y v2 7
现在我想为它编写一个 Elastic Search 查询。有人可以给我一些想法吗?
然后您可以像这样进行多级 terms
聚合:
{
"size": 0,
"aggs": {
"key1": {
"terms": {
"field": "key1"
},
"aggs": {
"key2": {
"terms": {
"field": "key2"
},
"aggs": {
"key3": {
"terms": {
"field": "key3"
},
"aggs": {
"doc": {
"top_hits": {
"sort": {"value": "desc"}
}
}
}
}
}
}
}
}
}
}