我为spec_helper编写了以下帮助程序。

module TireHelper
  def clear_tire_index_for(*resources)
    resources.each do |res|
      res.index.delete
      res.tire.create_elasticsearch_index
      res.index.refresh
    end
  end
end

我想得到我的resources的列表。

我需要这样做是因为我想在每个规格之前清除所有轮胎索引。

最佳答案

您可以使用Index Aliases API:

aliases = Tire::Configuration.client.get(Tire::Configuration.url + '/_aliases').body
MultiJson.load(aliases).keys
=> ["index_1", "index_2", ...]

要删除所有索引,只需调用:
RestClient.delete 'http://localhost:9200'

但小心点 :)

07-24 14:16