複数のThinking Sphinx検索の結果を1つの結果にまとめる簡単な方法はありますか?これらの検索はすべて同じモデル上にありますが、検索には個別の検索語があります。私がしようとしているのは、結果を組み合わせて、すべて日付列でソートし、適切なページ設定を受け取ることです。複数のThinking Sphinxクエリの結果を1ページ単位の結果にまとめる
私はThinkerクラスとIdeaクラスがあります。
class Thinker < ActiveRecord::Base
has_many :ideas
end
class Idea < ActiveRecord::Base
belongs_to :thinker
define_index do
indexes text
has created_at
end
end
私は2人の思想家BobとAliceがいます。
bob.ideas.search 'pancakes', :order => :created_at, :sort_mode => :desc
alice.ideas.search 'waffles', :order => :created_at, :sort_mode => :desc
...何とかボブ(パンケーキ)とアリスの(ワッフル)アイデアの収集は、一緒に混合のcreated_atを降順で並べ替え、および適切でページ分割されるように、それらを結合:私は、次の検索を組み合わせたいです思考スフィンクス。実際のユースケースでは、このように組み合わせるには2〜15の検索があります。
私は、検索メソッドがThinkingSphinx :: Search <配列を返すことを知っています。私は手動でこれらのオブジェクトを一緒にスプライシングすることを考えましたが、私がソートとページネーションの両方を探しているという事実はこれを少し難解にしています。
Thinking Sphinxでこれを行うにはエレガントな方法がありますか、それとも何か不足していないと私は自分自身をロールバックする必要がありますか?
グレート提案ページネーションと簡単なソートを使用することができますが、このクエリも見つける「パンケーキ」を含むアリスによって「ワッフル」を含むボブのアイデア、そしてアイデアを見つけるだろう。 「パンケーキ」の検索用語をボブのアイデアに適用し、アリスのアイデアに「ワッフル」を適用するだけです。 –