2016-02-08 4 views
1

Вопрос: У меня есть приложение, в котором изменение документа всегда должно сохраняться в ElasticSearch только после его проверки по полному документу. Поэтому мне всегда нужно получить полный документ! Является ли частичное обновление лучше, чем полное обновление в отношении производительности, есть ли другие преимущества?Частичное обновление Elasticsearch и полное обновление?

В документации Elasticsearch для partial update упоминается, что документы неизменяемы и что внутренние частичные обновления, такие как полное обновление, переиндексируют полный документ.

Внешне кажется, что мы частично обновляем документ на месте. Внутри, однако, обновление API просто управляет тем же самым процесс извлечения с изменением переиндексации

В документации также упоминается следующей, которые я принимаю это «преимущество частичного обновления более полного обновления», но я не понимаю. Если в осколке A есть документ, и я делаю полное обновление по нему или частичное обновление, которое состоит всего из одного запроса. Что здесь означает несколько запросов?

Разница заключается в том, что этот процесс происходит в осколок, что позволяет избежать нагрузки на сеть множественных запросов

ответ

2

Как уже упоминалось выше, как partial update и full update использования retrieve-change-reindex процесс, чтобы сделать Updation.

Но разница: Partial Update который использует update API достигает retrieve-change-reindex через один запрос клиента, в то время как full update, который использует index API требует отдельных get и index запросов, и поэтому full update имеет нагрузку на сеть множественных запросов.

+0

спасибо. В этом есть смысл! Могу ли я передать полный документ «API обновления» с измененным полем? – hajime

+1

Да, вы можете это сделать. – Richa

Смежные вопросы