elasticsearch-rest-client 判断索引是否存在
时间: 2023-08-03 19:05:19 浏览: 215
要判断 Elasticsearch 中是否存在一个索引,可以使用 Elasticsearch REST 客户端的 Indices API。
具体来说,可以使用 `HEAD` 请求方法请求该索引的 URL,如果返回的状态码为 `200`,则说明索引存在;如果返回的状态码为 `404`,则说明索引不存在。
以下是示例代码:
```java
RestHighLevelClient client = new RestHighLevelClient(
RestClient.builder(new HttpHost("localhost", 9200, "http")));
String indexName = "my_index";
// 构建请求
HeadRequest request = new HeadRequest(indexName);
// 发送请求
Response response = client.getLowLevelClient().performRequest(request);
// 判断状态码
if (response.getStatusLine().getStatusCode() == 200) {
System.out.println("索引存在");
} else if (response.getStatusLine().getStatusCode() == 404) {
System.out.println("索引不存在");
}
```
需要注意的是,以上代码中使用的 `RestHighLevelClient` 是 Elasticsearch REST 客户端的高级客户端,需要在项目中添加相应的依赖。如果需要使用低级别的客户端,也可以使用 `RestClient` 类代替 `RestHighLevelClient`。
阅读全文