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

Back to archive index

Kouhei Sutou kou****@clear*****
2014年 11月 11日 (火) 11:52:40 JST


須藤です。

In <CA+vpKiro7L3jp+nN1-LrQBQ_jXiK=QvnLz_zn=jXoFx****@mail*****>
  "[groonga-dev,02944] Rroongaで検索時に特定カラムに重みを付けたい" on Tue, 11 Nov 2014 02:56:24 +0900,
  ongaeshi <ongae****@gmail*****> wrote:

> Groonga#select(http://groonga.org/ja/docs/reference/commands/select.html)の
> 
> --match_columns content 'comment * 10'
> 
> に相当することをRroongaでやろうとしています。
> マニュアルを探したのですが上手く見つけることが出来ず、
> 
> grn.select(
>   "aaa",
>   default_column: "comment * 10"
> )
> 
> とかやってみたのですが上手くいきませんでした。
> 
> selectメソッドは
> 
> http://ranguba.org/rroonga/ja/Groonga/Table.html#select-instance_method
> 
> - (Groonga::Hash) select(options) {|record| ... }
> 
> のブロック形式ではなく、
> 
> - (Groonga::Hash) select(query, options)
> 
> の文字列クエリによる検索を使いたいと考えています。
> 
> Rroongaで特定カラムの検索結果に重みを付けることは可能でしょうか?

はい、可能です。

ただ、ブロック形式と組み合わせる必要があります。

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

↑の"aaa"のところは文字列クエリーを指定できます。



-- 
須藤 功平 <kou****@clear*****>
株式会社クリアコード <http://www.clear-code.com/>

Groongaベースの全文検索システムを総合サポート:
  http://groonga.org/ja/support/
パッチ採用 - プログラミングが楽しい人向けの採用プロセス:
  http://www.clear-code.com/recruitment/
名著『リーダブルコード』を解説者と一緒に読み解こう:
  http://schoo.jp/class/1502




groonga-dev メーリングリストの案内
Back to archive index