読者です 読者をやめる 読者になる 読者になる

Groonga(Rroonga)で検索時に特定カラムに重みを付けたい

ruby groonga

例えばあるテーブルに title(タイトル), content(本文), comment(コメント) カラムがあって

  • タイトルには20倍
  • 本文には10倍

の重みを付けたい場合は以下のようにする。

grn.select do |record|
  record.match("aaa") do |target|
    (target.title * 20) | (target.content * 10)
  end
end

"aaa"の所は検索クエリを指定する。

これでタイトルや本文に"aaa"が含まれる要素が検索結果の上位に表示されるようになる。

参考: [groonga-dev,02944] Rroongaで検索時に特定カラムに重みを付けたい