2017-02-14 12 views
1

Я использую elasticsearch для выполнения некоторых агрегаций. Все работает нормально, но в настоящее время у меня есть 2 миллиона документов в индексе. Я выполняю очень простой поисковый запрос list all documents в заданном type данных index.elasticsearch query дает очень медленные результаты по простому запросу

{ 
"size":100000, 
"query": 
     {"match_all":{} 
    } 
} 

Этот запрос очень медленно и дает о 300k хиты. Каковы могут быть возможные причины? ПРИМЕЧАНИЕ: У меня есть 2G баран. 2 ядра

ответ

1

Вы пытаетесь получить ответ с 100 000 документами в нем. Это слишком много. Elasticsearch предназначен для подкачки. Пейджинговые средства выбираются небольшими кусками. Вы пытаетесь получить большую часть 100 000. Существует причина, по которой она по умолчанию имеет размер 10.

+0

спасибо за ответ, я узнал, что это основная проблема. – anekix

0

Наконец-то выяснилось, что этой конфигурации достаточно для моих нужд, которая ищет более 2 миллионов документов. у меня была неправильная конфигурация, а также метод простого выполнения match_all неверен, даже если у нас есть 2 миллиона документов, выполняющих поиск по некоторым критериям, будет очень быстро.