elasticsearch,Java,Spring Boot,elasticsearch" /> elasticsearch,Java,Spring Boot,elasticsearch" />

如何使用JAVA高级Rest客户端获取索引中存在的文档网的总数

如何使用JAVA高级Rest客户端获取索引中存在的文档网的总数,java,spring-boot,elasticsearch,Java,Spring Boot,elasticsearch,我想知道索引中所有文档的计数,是否可以使用java高级rest客户端计数API获取计数?您可以使用或获取索引中所有文档的计数。 如果您使用的是elasticsearch版本6.6及更高版本,那么您可以使用Java高级REST客户端的count API来获取计数 如果您使用的是旧版本,那么必须使用Java低级REST客户端来获取文档计数 作为一个RestHighLevelClient构建在低级REST客户端之上 RestHighLevelClient client = new RestHighLe

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

您可以使用或获取索引中所有文档的计数。 如果您使用的是elasticsearch版本6.6及更高版本,那么您可以使用Java高级REST客户端的count 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以获取计数值

谢谢你的详细解释。我不知道你是如何得到这个计数的,而且问题是关于高级api的