我正在使用Tire Gem作为Elasticsearch的客户端进行批量索引

index = Tire::Index.new('oldskool')
index.bulk_store(bulk_values)

我使用http监控器API监控Elasticsearch集群上的HTTP连接,
curl 'localhost:9200/_nodes/http/stats'
在我得到的JSON响应中,
..."http":{"current_open" : 10, "total_opened" : 18345}
我观察到“total_opened”字段值继续迅速增加。我认为这意味着Tyre gem在批量索引编制时未使用持久连接(如果我输入错误,请更正我)。

做批量索引时,如何使用Tire Gem与Elasticsearch建立持久连接?

最佳答案

默认情况下,Tire使用不支持RestClientkeep-alive。例如,可以通过配置Tire切换到curb客户端。

require 'tire/http/clients/curb'
Tire.configure do
  client Tire::HTTP::Client::Curb
end

10-08 14:34