У меня есть базовый c запрос агрегации, который не работает с этой ошибкой
elasticsearch.exceptions.RequestError: RequestError(400, 'search_phase_execution_exception', 'buckets_path aggregation does not exist for aggregation [TPS_max]: TPS_temp>TPS')
Запрос агрегации - это
body = '{
"size":0,
"query": {
"bool": {
"must":[ {"range": {"@timestamp":{"gt":"now-10m","lte":"now"}}},
{"query_string":{"query":"host.keyword:%s"}}]
}
},
"aggs":{
"TPS_temp": {
"date_histogram":{
"field":"@timestamp","interval":"1s","min_doc_count":1},
"aggs":{
"TPS":{
"value_count":{
"field":"@timestamp"}
}
}
},
"TPS_max":{
"stats_bucket":{
"buckets_path":"TPS_temp>TPS"}
}
}
}'
И мой код - вот что я Я делаю не так?
a = A('date_histogram', field='@timestamp', interval='1s', min_doc_count=1)
b = A('value_count', field='@timestamp')
c = A('stats_bucket', buckets_path='TPS_temp>TPS')
s = Search(using=es, index=_index) \
.filter('range', **{ '@timestamp': { 'gt':'now-1m', 'lte':'now' }} ) \
.query('match', host=host)
s = s[:0]
s.aggs.bucket('TPS_temp',a) \
.bucket('TPS',b) \
.pipeline('TPS_max', c) \