Hiroyuki Sato
hiroy****@gmail*****
2015年 5月 8日 (金) 15:03:00 JST
佐藤です。
お世話になっております。
お手数ですが下記のことについて教えていただけますでしょうか?
よろしくお願いします。
Groongaは5.0.2です
1, 質問事項
(1) selectの文字列の長さ上限
selectの文字列の長さに上限はありますか?
(2) in_values(taget,value,value)のvalueの数の上限値
(3) in_valuesを使って全文検索のキーワードは指定できるか?
例えばチュートリアル: 4.10のCommentsテーブルの下記クエリを
in_valuesに変えることは可能でしょうか?
select --table Comments \
--query 'comment:@NY OR comment:@tried' \
--output_columns _key,comment
次のようにしたら結果が0になってしまいました。
select --table Comments \
--filter 'in_values(comment,"@NY","@tried")' \
--output_columns comment
(4) 下記案1以外の方法
下記案1以外の方法で良い方法はございますでしょうか?
mroongaを使う等でも結構です。
2, やりたいこと
(1), 用語
(1-1) ユーザ: システムを利用する人
(1-2) キーワード: ユーザが興味を持っているキーワード
例) Groonga, rroonga, mysql等
(1-3) 記事
www.itmedia.co.jpなどに掲載される記事
(2) やりたいこと
(2-1) ある記事Aに興味を持っているユーザを抽出する。
(2-2) 記事Aに興味を持っているかどうかは、各ユーザが持っている
キーワードが記事内に含まれているかを確認する。
(3) 実現案1
(3-1) 実現方法
・記事テーブル(Articles)を作って全文検索をできるようにする
・selectでユーザ毎にキーワードを指定して全文検索をする
select --table Articles \
--query 'text:キーワード1 OR text:キーワード2 OR ...' \
--output_columns _key,comment
(3-3) 課題・懸念点
(a) in_values等を使ってもっと楽に検索条件を指定したい
(b) キーワードの数多いと、文字列の上限に達してしまうのではないか?
(c) できれば、なるべく少ない回数で、結果を抽出したい。
キーワードをユーザのベクターカラムに格納して、SQLのジョインの
ようなことをしたい
--
Hiroyuki Sato