Вместо того, чтобы проверять, существует ли оно, и добавлять его, если нет, вы можете позволить Elastic сделать все это за вас.Вместо использования es.index(...)
вы можете вызвать es.create(...)
, как указано в документации для create .
Добавляет типизированный документ JSON в определенный индекс, делая его доступным для поиска.За кулисами этот метод вызывает index (…, op_type = 'create')
Из Эластичной документации :
Операция index также принимаетop_type
, который можно использовать для принудительного выполнения операции create
, допускающей поведение "положить-если-отсутствует".Когда используется create
, операция индексации завершится неудачей, если в индексе уже есть документ с таким идентификатором.
Поэтому он выдаст ошибку, если не вставит, поэтому обязательносправиться с этим.