1

私のプロジェクトでは、user_id が一致する場合に PersonRecord の検索結果をブーストしたいと考えています。各 PersonRecord には、user_ids (その PersonRecord を所有するユーザー) の配列があります。ここで、名前と user_id を検索に渡し、name と完全に一致するものを返し、user_id に一致するものがある場合は検索結果を増やしたいと考えています。コードは次のとおりです。

  results = PersonRecord.search do |search|
    search.query do |query|
      query.boolean do |m|
        m.must {match 'name.full', 'David Butler'}
        m.should {|m| m.term 'user_ids', user.id, :boost => 100}
      end
    end
  end

ここで、user_ids は user_id の配列であり、user.id は文字列であることに注意してください。クエリで用語を使用する必要がありますか、それとも Ids ですか? それともマッチ?助言がありますか?term は配列を文字列と比較しますか? ありがとう。

4

1 に答える 1