我有一些文档,这些文档可能要定义几个定义良好的属性:
owner
字段select * from file where file_status = 1 order by file_date DESC limit 2,6
和{
name: "john",
age: "51"
},
{
name: "mary",
years_since_born: "34"
},
{
name: "mike",
age: "34"
},
含义相同,但名称不同。
我想按age
或years_since_born
汇总文档。有可能吗?
我尝试将age
中的bool
condition推入,但是它显然只接受字符串。
答案 0 :(得分:1)
您可以使用script in your terms
aggregation来执行此操作,如下所示:
POST index/_search
{
"size": 0,
"aggs": {
"ages": {
"terms": {
"script": "params._source.age != null ? params._source.age : params._source.years_since_born"
}
}
}
}
注意:但是,根据文档数量的不同,性能可能会变差。如果所有文档都使用相同的字段会更好。