java查询es索引大小
时间: 2024-12-21 18:24:03 浏览: 7
在Java中,要查询Elasticsearch(ES)索引的大小,你需要使用Elasticsearch的官方客户端API,如`elasticsearch`库或者是`Lucene`的`IndexReader`。以下是使用`elasticsearch`客户端的一个例子:
```java
import org.elasticsearch.action.admin.indices.stats.AdminIndicesStatsAction;
import org.elasticsearch.client.Client;
import org.elasticsearch.client.RestHighLevelClient;
public class ESIndexSizeExample {
public static void main(String[] args) throws Exception {
RestHighLevelClient client = new RestHighLevelClient(
RestClient.builder(new HttpHost("localhost", ElasticsearchCluster.PORT, "http")));
// 获取索引统计信息
AdminIndicesStatsResponse statsResponse = client.admin().indices().stats(new IndicesStatsRequest()).actionGet();
for (IndicesStatsResponse.StatsItem index : statsResponse.getIndex()) {
System.out.println("Index [" + index.getIndex() + "] size in bytes: " + index.getTotal().getStoreSizeInBytes());
}
client.close();
}
}
```
这段代码首先创建了一个`RestHighLevelClient`实例,然后调用了`admin().indices().stats()`方法来获取所有索引的统计信息,包括大小。最后,打印出每个索引的大小。
阅读全文