Elasticsearch - 复合聚合最大值
Elasticsearch - Composite aggregation max value
我正在尝试获取日期的最大值和最小值。
从文档中我没有看到复合中的最大选项:
https://www.elastic.co/guide/en/elasticsearch/reference/current/search-aggregations-bucket-composite-aggregation.html#_value_sources
我想要这样的东西:
{
"size":0,
"aggs":{
"intervals":{
"composite":{
"size":10000,
"sources":[
{
"id":{
"terms":{
"field":"id"
}
}
},
{
"minTime": {
"min": {
"script": "doc['createdAt'].value"
}
}
},
{
"maxTime": {
"max": {
"script": "doc['createdAt'].value"
}
}
}
]
}
}
}
}
是否可以添加到此查询中,或者我需要为此单独查询吗?
composite
聚合允许您对存储桶进行分页。 min
和 max
是应用于每个桶的度量聚合(即度量聚合不能是复合聚合的 sources
)并且必须作为 sub-aggregations 添加到复合聚合中,那又怎样您需要做的是:
{
"size": 0,
"aggs": {
"intervals": {
"composite": {
"size": 10000,
"sources": [
{
"id": {
"terms": {
"field": "id"
}
}
}
]
},
"aggs": {
"minTime": {
"min": {
"script": "doc['createdAt'].value"
}
},
"maxTime": {
"max": {
"script": "doc['createdAt'].value"
}
}
}
}
}
}
我正在尝试获取日期的最大值和最小值。
从文档中我没有看到复合中的最大选项: https://www.elastic.co/guide/en/elasticsearch/reference/current/search-aggregations-bucket-composite-aggregation.html#_value_sources
我想要这样的东西:
{
"size":0,
"aggs":{
"intervals":{
"composite":{
"size":10000,
"sources":[
{
"id":{
"terms":{
"field":"id"
}
}
},
{
"minTime": {
"min": {
"script": "doc['createdAt'].value"
}
}
},
{
"maxTime": {
"max": {
"script": "doc['createdAt'].value"
}
}
}
]
}
}
}
}
是否可以添加到此查询中,或者我需要为此单独查询吗?
composite
聚合允许您对存储桶进行分页。 min
和 max
是应用于每个桶的度量聚合(即度量聚合不能是复合聚合的 sources
)并且必须作为 sub-aggregations 添加到复合聚合中,那又怎样您需要做的是:
{
"size": 0,
"aggs": {
"intervals": {
"composite": {
"size": 10000,
"sources": [
{
"id": {
"terms": {
"field": "id"
}
}
}
]
},
"aggs": {
"minTime": {
"min": {
"script": "doc['createdAt'].value"
}
},
"maxTime": {
"max": {
"script": "doc['createdAt'].value"
}
}
}
}
}
}