[groonga-dev,00472] Re: referenceでの検索

Back to archive index

Endo Akira endo4****@goo*****
2011年 3月 31日 (木) 09:47:37 JST


遠藤です。

>   result = items.select{|r|
>     r.pisrefs.jan =~ "123"
>   }
ああ、これでよかったのですか。そうかなと思わないでもなかったのですが、
ちょっと気持ち悪くて書けませんでした。こう書けるのなら、普通に(?!)
referenceのvectorが使えます。belongs_to、has_manyよりも直感的で使いやすいと
思います。

grn式なるものが分からないので、ついruby式思考法になってしまいます。

>   * 条件式を連結する
> 
>     例:
>       # 東京に住んでいる太郎さんを検索
>       (record.name == "太郎") & (record.address =~ "東京")
>       # 東京か大阪に住んでい人を検索
>       (record.address =~ "東京") | (record.address =~ "大阪")
&&で連結していて、最後の条件式しか評価されず、しょうがないので、
andの方はselectの結果を用いてさらにselectしていました。orの方は
もっと苦労していました。ははは。これを今日質問するつもりでした。
&はbit積という印象が強くて、改めてTrueClassほかを眺めたら、&などが
定義されていたのですね。

もう一つの"1"から"4"までの値しかとらない項目で、indexを作った方が
遅くなる、という問題は、あとでもう一度試してからご報告します。

どうもありがとうございました。だんだんすっきりしていきます。




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