RestClient 判断索引是否存在
时间: 2023-12-21 17:03:37 浏览: 93
RestHighLevelClient判断index是否存在
如果你使用的是 Elasticsearch 7.x 版本,可以使用 Indices Exists API 来判断一个索引是否存在。具体可以参考以下代码:
```ruby
require 'rest-client'
require 'json'
index_name = 'your_index_name'
url = "http://localhost:9200/#{index_name}"
response = RestClient.head(url)
if response.code == 200
# 索引存在
puts "#{index_name} exists."
else
# 索引不存在
puts "#{index_name} does not exist."
end
```
如果你使用的是 Elasticsearch 6.x 或更早的版本,可以使用 Indices Get Settings API 来判断一个索引是否存在。具体可以参考以下代码:
```ruby
require 'rest-client'
require 'json'
index_name = 'your_index_name'
url = "http://localhost:9200/#{index_name}/_settings"
begin
response = RestClient.get(url)
# 索引存在
puts "#{index_name} exists."
rescue RestClient::NotFound => e
# 索引不存在
puts "#{index_name} does not exist."
end
```
以上代码中,如果请求的 URL 返回 404 错误,说明该索引不存在。如果请求成功,则说明该索引存在。
阅读全文