1

このスニペットに関する私の問題は、他のアカウントでも共有されて-1いるユニバーサルを意味する整数を返すことです。Message

  def build_results
    search = Sunspot.new_search(Message) do
      any_of do
        member.lists.map { |list| with :enterprise_list_id, list.search_id }
      end

このステートメントに追加して、すべてのメッセージ-1を a としてクエリしますsearch_idが、排他的に属するようにスコープを設定するにはどうすればよいmember.accountですか?

私はそれを次のようにスコープしようとしています:

searchable :include => :repliable do
  integer :account_id do
    repliable.try(:account_id)
  end

と..

def build_results
  search = Sunspot.new_search(Message) do

    with :account_id, member.account_id

しかし、これは、 commont を共有するために返されるべき検索結果があるという事実を知っていても、何も返しませんaccount_id

4

1 に答える 1

1

私があなたの質問を正しく理解していれば、メッセージの検索可能ブロックにこのステートメントを追加するだけで済みます。

searchable do
  integer :some_search_ids, :multiple => true do
     member.lists.map { |list| list.search_id} if member.present?
  end

  integer :member_account_id do
    member.account_id if member.present?
  end
end

それから、

def build_results
  search = Sunspot.new_search(Message) do
    with(:some_search_ids, some_list_search_id)
    with(:member_account_id, some_member_account_id)
  end
end
于 2012-11-09T19:34:37.137 に答える