gpt4 book ai didi

java - 如何使用 JAVA High Level Rest Client 获取索引中存在的文档总数

转载 作者:行者123 更新时间:2023-12-02 10:23:09 25 4
gpt4 key购买 nike

我想知道索引中存在的所有文档的计数,是否可以使用 java 高级 REST 客户端 COUNT API 获取计数?

最佳答案

您可以使用 cat count 获取索引中所有文档的计数或Count API 。如果您使用的是elasticsearch 6.6 及更高版本,那么您可以按照此 link 进行操作。使用 Java 高级 REST 客户端的计数 API 获取计数。

如果您使用的是旧版本,则必须使用 Java 低级 REST 客户端来获取文档计数。

RestHighLevelClient 是构建在低级 REST 客户端之上的。

RestHighLevelClient client = new RestHighLevelClient(
RestClient.builder(
new HttpHost("localhost", 9200, "http"),
new HttpHost("localhost", 9201, "http")));

您可以使用它从 RestHighLevelClient 获取低级别客户端:

RestClient lowLevelClient = client.getLowLevelClient();

对于elasticsearch 6.3及更低版本执行以下命令:

Response response = client.getLowLevelClient().performRequest("GET", indexName+"/_count");

对 elasticsearch 版本 6.3 到 6.5 执行以下操作:

Request request = new Request("GET", indexName+"/_count");
client.getLowLevelClient().performRequest(request);

将响应转换为字符串:

String responseBody = EntityUtils.toString(response.getEntity());

然后就可以解析responseBody来获取计数值。

关于java - 如何使用 JAVA High Level Rest Client 获取索引中存在的文档总数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54181844/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com