Rails の統合に関していくつか問題があります。3.2.13、タイヤ 0.6.0、エラスティック サーチ 0.90.2、遅延ジョブ 3.0.5。
遅延ジョブでインデックス アクションを延期しようとすると、インデックスは問題ありませんが、次の検索ソートは無視されます。rake 環境の Tire:import:all でインデックス全体を再インデックス化すると、すべて問題ありません。
私のコード:
class Task < ActiveRecord::Base
#...getters/setters omitted...
include Tire::Model::Search
#include Tire::Model::Callbacks #don't use callback, we use delayed job indexing
after_commit {tire.delay.update_index } #DELAYED JOB
after_destroy {tire.delay.update_index } #DELAYED JOB
mapping do
indexes :id, :index => :not_analyzed
indexes :title
indexes :is_open, type: 'boolean'
end
def self.search(params)
tire.search(:page => (params[:page] || 1), load: true) do
query { string params[:q], :default_operator=>"AND"} if params[:q].present?
sort do
by :is_open, "desc" #THIS SORT IS IGNORED WHEN I INDEX WITH DELAYED JOB, BUT IT WORKS WHEN I INDEX WITHOUT IT (WITH TIRE CALLBACKS OR WITH delay OMITTED).
end
end
end
end
私が何を間違っているのか分かりますか?
ありがとうございました。
ジリ・フラディル