Термины не удалось проанализировать размер поля Ошибка при объединении с двумя терминами в упругом поиске

Я хочу объединить по двум терминам: пользователь и событие, и я хочу получить счетчик каждого события для каждого пользователя.

Я пробовал следующий код. Но я получаю сообщение об ошибке во второй последней строке:

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]

Наряду с вышеупомянутой ошибкой вы упомянули

Надеюсь это поможет

Другие вопросы по тегам