[groonga-dev,01110] Re: Re: Time型のインデックスについて

アーカイブの一覧に戻る

hirano_verf****@mail***** hirano_verf****@mail*****
2012年 11月 27日 (火) 12:34:46 JST


平野です。

> 範囲検索も高速になる機能はリポジトリに入ったので、次のリリー
> スにも含まれる予定です!次のリリースでは、他にも検索機能が強
> 化される予定なので、楽しみにしていてください。

ありがとうございます!

> あと、注意事項なのですが、groongaでは「一番最初に値を設定する
> ときは、初期値と同じ値を設定してもインデックスが更新されない」
> という制限があります。

なるほど、そのような制限があるのですね。
アドバイスありがとうございます。
現在のシステムの作りではインデックス更新が行われない可能性が高そうです。

> rroongaでこの制限を回避できないか検討してみますが、現状では
> ↑という制限があるので注意してください。 

rroongaに加えてファイルに出力したjsonをgroongaコマンドからloadする形でもデータ更新を行っていまして・・・。
ひとまず、どちらにおいても「0」が初回投入されないよう調整してみます。


2012/11/26 (Mon) 07:13, "Kouhei Sutou" <kou****@clear*****> wrote:
> 須藤です。
> 
> In <97d8c3c5-6813-3541-a7ca-01eaac7505a6 @ api106>
>   "[groonga-dev,01108] Re: Re: Time型のインデックスについて" on Thu, 22 Nov 2012 18:18:48 +0900,
>   hirano_verf****@mail***** wrote:
> 
> > Int型カラムに対してのインデックス作成、完全一致検索(==)での高速化はできていたので、Time型の範囲指定も高速化できるだろうと試行錯誤していたところでした。
> > 
> > 機能追加まで検討していただき感謝いたします。
> > リリース楽しみにしております。
> 
> 範囲検索も高速になる機能はリポジトリに入ったので、次のリリー
> スにも含まれる予定です!次のリリースでは、他にも検索機能が強
> 化される予定なので、楽しみにしていてください。
> 
> あと、注意事項なのですが、groongaでは「一番最初に値を設定する
> ときは、初期値と同じ値を設定してもインデックスが更新されない」
> という制限があります。初期値は型毎に違うのですが、Int32や
> TimeなどInt*、UInt*、Timeなど数値型は「0」が初期値です。
> 
> なので、↓のようにopen_dateに最初の値として「0」を設定しても
> インデックスが更新されません。
> 
> >> 	Groonga[table_name].add('shop_001', :shop_name => 'kyoto', :open_date => 0, :close_date => 1325343599) # 〜2011/12/31
> >> 	Groonga[table_name].add('shop_002', :shop_name => 'nagoya', :open_date => 0, :close_date =>  1356965999) # 〜2012/12/31
> >> 	Groonga[table_name].add('shop_003', :shop_name => 'hakata', :open_date => 1356966000, :close_date =>  1388501999) # 2013/01/01〜2013/12/31
> 
> 代わりに、↓のように「0」じゃなくて(初期値とは違う値の)「1」
> を設定するか、
> 
>   Groonga[table_name].add('shop_001', :shop_name => 'kyoto', :open_date => 1, :close_date => 1325343599) # 〜2011/12/31
> 
> 一度、違う値を設定してから「0」を設定してください。(一度、
> 初期値と違う値を設定していればインデックスは更新される。)
> 
>   shop = Groonga[table_name].add('shop_001', :shop_name => 'kyoto', :open_date => 1, :close_date => 1325343599) # 〜2011/12/31
>   shop.open_date = 0
> 
> 
> rroongaでこの制限を回避できないか検討してみますが、現状では
> ↑という制限があるので注意してください。
> 
> (groongaにこの制限があるのはgroongaにはNULLという概念がない
> ということに由来しています。)
> 
> -- 
> 須藤 功平 <kou****@clear*****>
> 株式会社クリアコード <http://www.clear-code.com/> (03-6231-7270)
> 
> groongaサポート:
>   http://groonga.org/ja/support/
> パッチ採用はじめました:
>   http://www.clear-code.com/recruitment/
> 
> _______________________________________________
> groonga-dev mailing list
> groon****@lists*****
> http://lists.sourceforge.jp/mailman/listinfo/groonga-dev
> 




groonga-dev メーリングリストの案内
アーカイブの一覧に戻る