您当前的位置: 首页 > 慢生活 > 程序人生 网站首页程序人生
elasticSearch聚合元数据(添加自定义元数据)
发布时间:2021-09-03 17:01:08编辑:雪饮阅读()
ElasticSearch的聚合元数据是指在聚合的时候可以添加一些自定义信息,这些信息会随着聚合响应一起携带在响应中。
那么比如像是这样一个聚合请求
请求正文:
{
"aggs" : {
"min_fees" : { "avg" : { "field" : "fees" } ,
"meta" :{
"dsc" :"Lowest Fees"
}
}
}
}
响应正文:
{
"took": 1,
"timed_out": false,
"_shards": {
"total": 1,
"successful": 1,
"skipped": 0,
"failed": 0
},
"hits": {
"total": {
"value": 0,
"relation": "eq"
},
"max_score": null,
"hits": []
},
"aggregations": {
"min_fees": {
"meta": {
"dsc": "Lowest Fees"
},
"value": null
}
}
}
很明显,由于这里report类型并不存在,所以聚合结果就是null了。
那么如果请求url修改成如:
这样就不限制类型了,则可以聚合出结果
{
"took": 1,
"timed_out": false,
"_shards": {
"total": 1,
"successful": 1,
"skipped": 0,
"failed": 0
},
"hits": {
"total": {
"value": 20,
"relation": "eq"
},
"max_score": null,
"hits": []
},
"aggregations": {
"min_fees": {
"meta": {
"dsc": "Lowest Fees"
},
"value": 3500.2
}
}
}
我这里schools中的文档都是school类型的,所以也能聚合出数据的。
那么不管那种方式,可以看到请求正文中添加的元数据:
"meta" :{
"dsc" :"Lowest Fees"
}
也会随着聚合响应一起携带出来。这就是聚合元数据。
关键字词:elasticSearch,聚合元数据,添加自定义元数据,元数据