Есть индекс, в котором хранятся тексты статей (заголовок, тело) и помимо этих данных есть некоторые целочисленные поля, которые необходимо ежедневно обновлять у всех документов (в индексе около 2.5 миллионов документов). Далее планируется использовать полнотекстовый поиск с сортировками и агрегациями по этим целочисленным полям.
Возможно ли использовать в принципе Elasticsearch в таком случае? Дело в том, что ранее я сталкивался с проблемами потребления ресурсов ES, если регулярно обновлять данные в индексе.
В elasticsearch изменение даже одного поля требует переиндексации всей записи целиком, если вы меняете одно поле у каждой записи каждый день, то вы, по сути, переиндексируете весь индекс. 2.5 миллиона - это не так уж и много, но если это напрягает ваш кластер, то есть еще один способ - можно выделить эти "некоторые целочисленные поля" в отдельные записи и связать их с основным документом как дочерние записи. Это немного замедлит поиск, но значительно снизит нагрузку индексации.
Apache, Apache Lucene, Apache Hadoop, Hadoop, HDFS and the yellow elephant
logo are trademarks of the
Apache Software Foundation
in the United States and/or other countries.