Я пытаюсь массово обновить существующий индекс, используя массовый API, поэтому некоторые записи уже существуют, которые необходимо обновить, а некоторые являются новыми, которые необходимо проиндексировать, поскольку их там нет. Я использовал следующий фрагмент кода
BulkRequestBuilder bulkRequestBuilder = client.prepareBulk();
bulkRequestBuilder.add(client.prepareUpdate(InvokeMain.indexName, type, docId).setUpsert(finalMap));
Однако при этом я получаю следующее исключение
org.elasticsearch.action.ActionRequestValidationException: Validation
Failed: script or doc is missing;
Я предполагаю, что новые записи / новые идентификаторы документов - это то, где он терпит неудачу. Любая идея, как добиться upsert (обновить, если существует, вставить, если нет) оптом?
finalMap
? Можете ли вы вместо этого попробоватьprepareIndex
? - person Val   schedule 01.09.2015