Kouhei Sutou
kou****@clear*****
2011年 6月 24日 (金) 19:05:26 JST
須藤です。 In <7508b96a-37a7-381d-ab72-d14f632e8195 @ api105> "[groonga-dev,00539] Re: Re: 前方一致検索、後方一致検索の組み合わせについて" on Fri, 24 Jun 2011 17:06:32 +0900, hirano_verf****@mail***** wrote: > お忙しいところ恐縮ですがもう少しだけ教えていただきたいことがあります。 > 下記のように部分一致を条件に加えた場合です。 > > select --table Menus --filter "name._key @^ \"スープ\" && name._key @ \"ス大\"" > 結果: > [[0,1308901783.95734,0.001738],[[[1],[["_id","UInt32"],["_key","ShortText"],["original","Bool"],["name","MenuNames"]],[3,"menu3",true,"スープカレーライス大盛り"]]]] > > 希望通りの結果ですが、これだと全文検索インデックスを作成していないのでレコード数が増えた場合パフォーマンスに問題がでると考えていますが、合っていますでしょうか。 はい、そうです。 ただ、事前に"name._key @^ \"スープ\""というように前方一致検 索などでレコードを絞り込んだあとで、さらに今回のように短い文 字列であれば、インデックスを使わなくても大丈夫なのかなぁとい う気もします。もちろん、絞り込みでヒット数が多い場合はパフォー マンスに効いてくると思います。 > 全文検索インデックスを作成した場合、下記のように同じデータを複数のカラムに投入しているのですが、もっとスマートな方法はありますでしょうか。 すみません、ないです。。。 -- 須藤 功平 <kou****@clear*****> 株式会社クリアコード <http://www.clear-code.com/> (03-6231-7270) プログラミングが好きなソフトウェア開発者を募集中: http://www.clear-code.com/recruitment/