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