繁体   English   中英

如何使用JAVA High Level Rest Client获取索引中存在的documnet的总数

[英]How to get the total count of documnets present in an index using JAVA High Level Rest Client

我想知道索引中存在的所有文档的计数,是否可以使用Java高级Rest Client COUNT API获得计数?

您可以使用cat countCount API获取索引中所有文档的计数 如果您使用的是Elasticsearch 6.6及更高版本,则可以单击此链接以使用Java高级REST客户端的Count API获取计数。

如果您使用的是旧版本,则必须使用Java Low Level REST Client来获取文档数。

作为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:

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

然后,您可以解析responseBody以获取计数值。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM