作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在编写一个单元测试,需要使用 Java Elasticsearch 6 库中的 RestHighLevelClient 写入 Elasticsearch 6 索引,然后从索引中读取。我如何知道何时可以通过 RestHighLevelClient.search 从索引中读取 IndexRequest 的结果?例如:
RestHighLevelClient client;
//client initialization
BulkRequest request = new BulkRequest();
request.add(new IndexRequest(...));
BulkResponse response = client.bulk(request);
//process response
SearchRequest request = new SearchRequest(...);
SearchResponse scrollResponse = client.search(request);
//scrollResponse is empty!
基本上,如果我在写入和读取之间放置 Thread.sleep,则响应具有我写入的内容,因此我认为请求正在正确发出。有没有办法确保我可以等到 client.bulk(request)
部分完全完成写入后再执行读取操作?
最佳答案
这将强制刷新作为此请求的一部分。
request.setRefreshPolicy(WriteRequest.RefreshPolicy.IMMEDIATE);
关于java - Elasticsearch 6 RestHighLevelClient : How to know when the result of an IndexRequest is ready to be read?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52372890/
我是一名优秀的程序员,十分优秀!