我在批量更新后使用弹性搜索multi get来阅读文档。它将一些文档源返回为null。
MultiGetRequestBuilder builder = client.prepareMultiGet();
builder.setRefresh(true);
builder.add(indexName, type, idsList);
MultiGetResponse multiResponse = builder.execute().actionGet();
for (MultiGetItemResponse response : multiResponse.getResponses())
{
String customerJson = response.getResponse().getSourceAsString();
System.out.println("customerJson::" + customerJson);
}
我的代码中有任何问题吗?提前谢谢。
答案 0 :(得分:1)
当你说“某些返回源为null”时,我假设get响应将它们标记为不存在..?
如果是这样,那么可能:
批量中的某些索引请求无法映射/随机错误。
您需要在索引编制和多重编辑之间刷新索引(即:您的文档尚不可用于搜索)
。transportClient.admin()索引()prepareRefresh(指数).execute();