1

注: 私はRails でSunspotを使用していますが、Sunspot の DSL に慣れていない場合でも、一般的な Solr の応答で正しい方向に進むことができます。

これらに似たモデルがいくつかあります。

class Book < ActiveRecord::Base
  searchable do
    text :title, boost: 2.0
    text :content
  end
end

class Article < ActiveRecord::Base
  searchable do
    text :title, boost: 2.0
    text :content
  end
end

さまざまな結果を得るために、すべてのモデルで同時に全文検索を行う必要がありますが、検索結果では、記事は書籍よりも関連性が高いと見なされるべきです。

検索を実行するための現在のコードは次のとおりです。

search = Sunspot.search do
  fulltext search_terms, minimum_match: 1
end

これは正しく混在した結果を返しますが、Book の結果と比較して Article の結果をブーストする必要があります。これは、すべての記事の結果を最初にリストし、次にすべての書籍の結果をリストすることと同じではないことを明確にしたいと思います。全体的なコンテンツに基づいて Solr が結果をランク付けする方法によっては、まだいくつかの組み合わせが存在する可能性があります。

ブースト機能を使用する必要があると思いますが、正確な方法がわかりません。

ポインタはありますか?

4

1 に答える 1