Делаю на php ->deleteByQuery()
и сразу много раз ->index()
Выкидает ерор конфликт.
Есть возможность дождатся удаления? Спасибо.
Делаю на php ->deleteByQuery()
и сразу много раз ->index()
Выкидает ерор конфликт.
Есть возможность дождатся удаления? Спасибо.
Здравствуйте Михаил,
Метод elasticsearch _delete_by_query
принимает параметр wait_for_deletion
. Значение по умолчанию - true, т.е. Elasticsearch вернет результат только по окончанию работы запроса. Подробнее тут.
Еще вы можете указать параметр refresh
, который обновит все шарды и сделает результаты запроса доступными для поиска или в вашем случае уберет удаленные документы из поиска. По умолчанию этот параметр имеет значение false, так как эта команда выполняется регулярно каждую 1 секунду (если значение не было изменено явно). Подробнее о команде refresh
тут.
Я не знаком близко с PHP клиентом, однако согласно спецификации метод deleteByQuery
поддерживает параметры. Попробуйте вызвать ваш метод с обоими параметрами имеющими значение true.
Если проблема не исчезнет, то вероятно она вызвана не методом удаления.
This topic was automatically closed 28 days after the last reply. New replies are no longer allowed.
© 2020. All Rights Reserved - Elasticsearch
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.