[英]How to get the total count of documnets present in an index using JAVA High Level Rest Client
我想知道索引中存在的所有文档的计数,是否可以使用Java高级Rest Client COUNT API获得计数?
您可以使用cat count或Count 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.