2017-07-16 8 views
0

Elasticsearchは、::、私は盆栽のアドオンを使用してHerokuの上でそれをプッシュしているが、私は何かを検索しようとするたびに私のアプリでは、このエラーがログに記録されます。私はelasticsearchに依存した検索システムを持っているレールのアプリを持っている交通::交通::エラー:: BadRequestエラーHerokuの

2017-07-16T04:04:44.083489+00:00 app[web.1]: Completed 500 Internal Server Error in 18ms (ActiveRecord: 1.9ms) 
2017-07-16T04:04:44.084229+00:00 app[web.1]: app/controllers/search_controller.rb:7:in `show' 
2017-07-16T04:04:44.084222+00:00 app[web.1]: Elasticsearch::Transport::Transport::Errors::BadRequest ([400] {"error":{"root_cause":[{"type":"parsing_exception","reason":"no [query] registered for [filtered]","line":1,"col":22}],"type":"parsing_exception","reason":"no [query] registered for [filtered]","line":1,"col":22},"status":400}): 

マイElasticsearchコントローラ

class SearchController < ApplicationController 
    before_action :beautify_url 
    layout "simple" 

    def show 
    @post_records = Post.search(query_term).paginate(page: params[:page]).records 
    @posts = @post_records.to_a.select { |post| post.published? } 
    @users = User.search(query_term).records.to_a 
    @tags = Tag.search(query_term).records 
    end 

    def users 
    @users = User.search(query_term).records.to_a 
    end 

    private 

    def beautify_url 
     if params[:search].present? 
     case params[:action] 
     when "show" 
      redirect_to search_url(q: params[:search][:q]) 
     when "users" 
      redirect_to search_users_url(q: params[:search][:q]) 
     end 
     end 
    end 

    def query_term 
     params[:q] || '' 
    end 
end 

助けてください!

答えて

1

盆栽サポートはこちら。盆栽クラスターは現在Elasticsearch 5.xにプロビジョニングされており、Elasticsearch 5.0ではfilteredというクエリは削除されています。 5.xでfilteredクエリを使用しようとすると、表示されているエラーメッセージが表示されます。

あなたが共有している何から、私が最も可能性の高い問題は、クライアントがクエリDSLの非推奨バージョンを使用していることだと思います。これは互換性のない宝石のバージョンを示唆します。

あなたのElasticsearchの宝石は、コマンドラインからこれを実行しているバージョンを確認できます。

bundle show | grep elasticsearch

彼らは5.XXない場合は、お使いのGemfileでそれらを更新:

gem "elasticsearch", "~> 5" 
gem "elasticsearch-rails", "~> 5" 

そしてbundle update elasticsearch elasticsearch-railsを実行してください。 Herokuに変更をプッシュし、再度検索を試みてください。

それが解決しない場合は、[email protected]する電子メールを撮影し、我々はあなたがそれを整理に役立ちます。

+0

私はgemfile @ Rob Searsを更新しましたが、問題は同じままです –

関連する問題