2016-11-01 33 views
0

今天安裝一個新的ElasticSearch 5.0,改變了我的Rails配置爲指向ES 5ElasticSearch 5.0 + Rails的

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

提前致謝!

回答

0

根據此discussion問題是proxy_options配置。只要忽略transport_options即可。如果你改變配置如下,它應該工作。

config = { 
    hosts: default_host, 
    adapter: :typhoeus 
}