Термины не удалось проанализировать размер поля Ошибка при объединении с двумя терминами в упругом поиске
Я хочу объединить по двум терминам: пользователь и событие, и я хочу получить счетчик каждого события для каждого пользователя.
Я пробовал следующий код. Но я получаю сообщение об ошибке во второй последней строке:
RequestError: TransportError (400, 'parsing_exception', '[Terms] не удалось проанализировать поле [size]')
Можете ли вы сказать мне, как решить эту проблему.
es.search(index=['ind'],doc_type=['axis'],body={
"query": {
"bool": {
"must": [
{
"range": {
"time": {
"gt": "10"
}
}
}
]
}
},
"from": 0,
"size": 0,
"aggregations": {
"user": {
"aggregations": {
"event": {
"aggregations": {
"COUNT(event)": {
"value_count": {
"field": "event"
}
}
},
"terms": {
"field": "event",
"size": 0
}
}
},
"terms": {
"field": "user",
"size": 200
}
}
}
})
1 ответ
Единственная проблема с вашим запросом - размер агрегации, установленный на "0"
Как уже упоминалось в комментариях. Нет смысла делать агрегацию при нулевых размерах, и, таким образом, упругий поиск приводит к ошибке
[size] must be greater than 0. Found [0] in [event]
Наряду с вышеупомянутой ошибкой вы упомянули
Надеюсь это поможет