Я использую Spring Data elasticsearch (2.0.4/2.4)
И я хотел бы выполнить массовую вставку и удаление.
Но ElasticsearchTemplate содержит только метод BulkInsert
Код: Выделить всё
@Override
public void bulkIndex(List queries) {
BulkRequestBuilder bulkRequest = client.prepareBulk();
for (IndexQuery query : queries) {
bulkRequest.add(prepareIndex(query));
}
BulkResponse bulkResponse = bulkRequest.execute().actionGet();
if (bulkResponse.hasFailures()) {
Map failedDocuments = new HashMap();
for (BulkItemResponse item : bulkResponse.getItems()) {
if (item.isFailed())
failedDocuments.put(item.getId(), item.getFailureMessage());
}
throw new ElasticsearchException(
"Bulk indexing has failures. Use ElasticsearchException.getFailedDocuments() for detailed messages ["
+ failedDocuments + "]", failedDocuments
);
}
}
Знаете ли вы о каких-либо решение для массового индексирования и удаления документов, или мне следует использовать отражение для изменения видимости метода подготовитьИндекс
или есть ли простой способ создать indexRequest из модели/POJO?
Подробнее здесь: https://stackoverflow.com/questions/442 ... and-delete