Исключение Elasticsearch document_missing_exception

#elasticsearch

#elasticsearch

Вопрос:

Я вижу, document_missing_exception когда обновляю данные в Elasticsearch (ES версии 7.4). Согласно имени исключения, похоже, что запрошенный документ не существует в Elasticsearch. В то время как сценарий upsert завершается успешно с повторной попыткой.

Это правда document_missing_exception только из-за того, что запрошенный документ не существует в Elasticsearch? Приветствуется любая информация, касающаяся document_missing_exception.

Ответ №1:

Да, вы правы, это document_missing_exception связано только с тем, что запрошенный документ не существует в ES, вы можете легко просмотреть исходный код ES, чтобы найти это, и увидеть, что это единственное место, откуда он вызывается, UpdateRequest и этот комментарий к методу объясняет это намного лучше:

Из кода ES

   /**
     * Sets the index request to be used if the document does not exists. Otherwise, a
     * {@link org.elasticsearch.index.engine.DocumentMissingException} is thrown.
     */
    public UpdateRequest upsert(IndexRequest upsertRequest) {
        this.upsertRequest = upsertRequest;
        return this;
    }