1

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    

私が何を間違っているのか分かりますか?

ありがとうございました。

ジリ・フラディル

4

0 に答える 0