[英]Spring data elasticsearch bulk index and delete
我是社區的新手,所以如果我做錯了什么,我深表歉意。
我正在使用 spring 數據 elasticsearch (2.0.4/2.4) 我想進行批量插入和刪除。 但是 ElasticsearchTemplate 只包含一個方法 bulkInsert
@Override
public void bulkIndex(List<IndexQuery> queries) {
BulkRequestBuilder bulkRequest = client.prepareBulk();
for (IndexQuery query : queries) {
bulkRequest.add(prepareIndex(query));
}
BulkResponse bulkResponse = bulkRequest.execute().actionGet();
if (bulkResponse.hasFailures()) {
Map<String, String> failedDocuments = new HashMap<String, String>();
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
);
}
}
所以我創建了一個批量方法來處理兩者,但我無法訪問私有方法 prepareIndex 。
您是否知道批量索引和刪除文檔的任何解決方案,或者我是否應該使用反射來更改 prepareIndex 方法的可見性,或者是否有任何簡單的方法可以從模型/POJO 創建 indexRequest?
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.