我正在尝试聚合 ElasticSearch 中的动态映射字段。
例如:
POST test/_doc/1
{
"settings": {
"range": {
"value": 200,
"display": "200 km"
},
"transmitter": {
"value": 1.2,
"display": "1.2 Ghz"
}
}
}
下面的属性settings
是动态的。基本上我需要这样的查询:
{
"size": 0,
"query": {
"match_all": {}
},
"aggs": {
"settings": {
"terms": {
"field": "settings.*.display"
}
}
}
}
由于*
在这里不起作用,我想知道是否有办法从无痛脚本中返回字段,然后可能使用管道聚合?Object.keys(settings)
我在 JavaScript 中找不到无痛的等价物。
我已经看到了一种使用嵌套对象的方法,但我想避免这种情况,因为可能有很多“设置”属性,并且默认限制是 50,而nested_objects 具有 10000 个属性。