gpt4 book ai didi

elasticsearch - Elasticsearch复合聚合查询嵌套字段

转载 作者:行者123 更新时间:2023-12-03 02:15:11 28 4
gpt4 key购买 nike

我有一个关于嵌套对象聚合的问题。
文件就像:

{
"features": [{
"key": "key1",
"values": ["A", "B"]
},
{
"key": "key2",
"values": ["C", "D"]
},
{
"key": "key2",
"values": ["E"]
}
]
}
其中“功能”是一个嵌套对象。
我可以聚合并从键和值中获得不同的值,但是我需要在需要的地方进行合并的存储桶聚合:
键1-> A,B
键2-> C,D,E
是否必须使用复合聚合?还是使用哪种适当的聚合?
也欢迎Java示例!
谢谢!!!

最佳答案

您实际上并不需要composite。以下应该没问题:

{
"size": 0,
"aggs": {
"nested_aggs": {
"nested": {
"path": "features"
},
"aggs": {
"by_key": {
"terms": {
"field": "features.key.keyword"
},
"aggs": {
"by_values": {
"terms": {
"field": "features.values.keyword"
}
}
}
}
}
}
}
}
假设您的映射如下所示
{
"mappings":{
"properties":{
"features":{
"type":"nested",
"properties":{
"key":{
"type":"text",
"fields":{
"keyword":{
"type":"keyword",
"ignore_above":256
}
}
},
"values":{
"type":"text",
"fields":{
"keyword":{
"type":"keyword",
"ignore_above":256
}
}
}
}
}
}
}
}

关于elasticsearch - Elasticsearch复合聚合查询嵌套字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63708565/

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