Kouhei Sutou
kou****@clear*****
2009年 7月 21日 (火) 15:24:52 JST
須藤です. In <20090****@epepe*****> "Re: [groonga-dev,00131] domainがテーブルの比較" on Tue, 21 Jul 2009 14:20:43 +0900, morit****@razil***** wrote: >> g式ではdomainがテーブルのカラムの比較がまだサポートされていな >> いと思いますが(do_compare()とかdo_eq()とか)、これらがサポー >> トされるのはいつくらいになりそうかという予定はありますか? > > 必要に応じてそろえていきたいのですが、すぐには実装の予定がありません。 了解しました. > do_eqについては簡単そうですが、do_compareについてはkeyで比較するのか、 > idで比較するのか、悩ましいですね。 > no_keyの場合はidで比較して、それ以外の場合はkeyで比較するのが妥当そうですが。。 むむ、yのdomainも見て比較するとよさそうな気がしていたのです が、それだと問題がありそうなのでしょうか。試してみます. >> # grn_expr_append_op()でのGRN_OP_ORサポートもまだですよね? > > GRN_OP_ORを指定した場合は、現状ではindexが適用されず、 > すべてレコードスキャンになっていしまいます。 > また、レコードスキャンで全文検索を実行する処理を実装していないので、 > 全文検索とORの組み合わせだとちゃんと動いてないかも知れません。 > こちらの方は、やや急いで実装するつもりです。 了解しました。 do_eq(), do_compare()が終わったらまた試してみます。 単語が指定されたときに索引があるかないかを気にせず検索したい ので、 record.match(word) OR record.equal(word) というような感じに書きたいと思っています。 あ、索引があるかどうかを判断する便利関数が公開されていると とりあえずGRN_OP_ORを使わなくてもよいかも。(grn_column_index()) -- 須藤 功平 <kou****@clear*****> 株式会社クリアコード (http://www.clear-code.com/)