Vin*_*nce 6 java spring elasticsearch spring-data-elasticsearch
我是社区的新手,所以如果我做错了,我会道歉.
我正在使用spring data 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
);
}
}
Run Code Online (Sandbox Code Playgroud)
所以我创建了一个批处理方法来处理这两个方法,但是我无法访问私有的方法prepareIndex.
您是否知道在一个批量索引和删除文档中的任何解决方案?或者我应该使用反射来改变prepareIndex方法的可见性?或者从模型/ pojo创建indexRequest的任何简单方法?
不确定你指的是哪个版本
(2.0.4/2.4)
目前无法进行批量删除。并且不能在一个请求中组合不同的操作,例如索引/更新。
您能否在 Jira 中提出一个问题,以添加对批量删除的支持以及在一次调用中执行不同操作的可能性?虽然这不会出现在下一个版本中,但我担心。
| 归档时间: |
|
| 查看次数: |
2099 次 |
| 最近记录: |