今天安装了一个新的ElasticSearch 5.0,并将我的Rails配置更改为指向ES 5。
我的elasticsearch.rb配置文件如下所示:
require "faraday"
require "typhoeus/adapters/faraday"
config = {
host: "http://xxx.xxx.xxx.yyyy:9200/",
transport_options: {
request: { timeout: 5 }
},
}
if File.exists?("config/elasticsearch.yml")
config.merge!(YAML.load_file("config/elasticsearch.yml").symbolize_keys)
end我在应用程序上安装了以下相关的宝石:
gem 'elasticsearch-model'
gem 'elasticsearch-rails'
gem 'elasticsearch-persistence', require: 'elasticsearch/persistence/model'当我去启动我的应用程序时,我会收到以下消息:
[400] No handler found for uri [//****] and method [DELETE] (Elasticsearch::Transport::Transport::Errors::BadRequest)
以前有人遇到过这个问题吗?
我看了一下,看起来ElasticSearch 5.0有一个新的删除API,但我不确定这是否是问题的根本原因:
https://www.elastic.co/guide/en/elasticsearch/reference/5.0/docs-delete-by-query.html
提前感谢!
发布于 2016-11-01 06:44:17
根据这个讨论,问题是proxy_options配置。只需忽略transport_options。如果您按下面的方式更改配置,那么它应该可以工作。
config = {
hosts: default_host,
adapter: :typhoeus
}https://stackoverflow.com/questions/40353710
复制相似问题