我正在编写一个单元测试,我需要使用 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)在我执行读取操作之前等到部件完全完成写入?
牧羊人nacy
蛊毒传说
相关分类