我正在使用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
使用不支持RestClient
的keep-alive
。例如,可以通过配置Tire
切换到curb客户端。
require 'tire/http/clients/curb'
Tire.configure do
client Tire::HTTP::Client::Curb
end