我想使用java的elasticsearch bulk api,并想知道如何设置批量大小.
目前我正在使用它:
BulkRequestBuilder bulkRequest = getClient().prepareBulk();
while(hasMore) {
bulkRequest.add(getClient().prepareIndex(indexName, indexType, artist.getDocId()).setSource(json));
hasMore = checkHasMore();
}
BulkResponse bResp = bulkRequest.execute().actionGet();
//To check failures
log.info("Has failures? {}", bResp.hasFailures());
Run Code Online (Sandbox Code Playgroud)
知道如何设置批量/批量大小吗?
我正在探索elasticsearch并将其与我们当前的搜索解决方案进行比较.我的用例是,每当我构建索引时,我必须删除当前索引并创建具有相同名称的新索引.因此,所有旧文档都将使用旧索引删除,新索引将具有新数据.索引过程需要几分钟才能完成.
我的问题是在此期间进入的搜索请求会发生什么.弹性搜索是否使用事务并且仅在事务中提交所有更改(使用新文档删除索引和新索引)?
如果删除索引会发生什么,并且在索引编制过程中发生错误?如果没有交易,这种情况有解决办法吗?