Kouhei Sutou
kou****@clear*****
2015年 3月 17日 (火) 20:43:39 JST
須藤です。 In <CA+vpKirqw-zJ5D_Up0AV****@mail*****> "[groonga-dev,03113] Re: Windowsでの GRN_IO_VERSION=1 テスト" on Mon, 16 Mar 2015 21:51:25 +0900, ongaeshi <ongae****@gmail*****> wrote: > ※ 返信が遅くなってすいません・・ いえいえ、確認ありがとうございます! >> これって毎回再現しますか? >> 例えば、もう一度4.0.3でmilk rebuild -allして、5.0.0で開いて >> も同じ状況になるかということなんですけど。。。 > > はい、再現しました。 > やはりGRN_IO_VERSION=1の時は上手く動かないようです・・。 うーん。。。 Windows環境を用意して手元でも試してみたところ、こちらでは GRN_IO_VERSION=1にしてもRroonga 4.0.3で作ったデータベースで 検索できました。 私はgem uninstall rroongaとして使っていないRroongaを削除する ことで、使用するRroongaを切り替えていたんですが、おんがえし さんはどうやって切り替えましたか?Bundlerとかですか? エラーの出方が妙なんですよ。 https://gist.github.com/ongaeshi/5171935a133cb1134a80#file-command-log-L7 では C:/app/ruby/lib/ruby/gems/2.0.0/gems/milkode-1.8.5/lib/milkode/common/util.rb:229:in `sort': invalid argument: result is not a array: #<Groonga::Hash id: <2147483649>, name: (anonymous), path: (temporary), domain: <documents>, range: (nil), flags: <WITH_SUBREC>, size: <0>, encoding: <:utf8>, default_tokenizer: (nil), token_filters: [], normalizer: (nil)> (Groonga::InvalidArgument) db.c:10223: grn_table_sort() とでているんですが、これは、grn_table_sort()の結果を保存する テーブルが変だよというエラーなんですね。grn_table_sort()の結 果を保存するテーブルは一時的なテーブルなので、ディスクに保存 しないんです。で、GRN_IO_VERSIONはディスクに保存する処理のと ころに影響があるので、ここでこんなエラーになるのは妙なんです。 だれか、他にもWindows環境がある人は検証してもらえないでしょ うか?私、普段Windowsを使っていないのでツライんですよ。。。 だれか、助けて。。。 検証方法: http://sourceforge.jp/projects/groonga/lists/archive/dev/2014-December/003038.html ↑ではgroonga-4.0.8-x64-reduce-db-size.zipをダウンロードして、 とか書いていますが、最近のGroonga、Rroongaではこの機能が入っ ているので最新のGroonga、Rroongaをいつもの手順でダウンロード すれば大丈夫です。 >> あ、あと、GRN_IO_VERSIONを指定しなかった場合は古いバージョン >> のデータベースは開けましたか?↓のケースです。 > > こちらは上手く動きました。 よかったです! -- 須藤 功平 <kou****@clear*****> 株式会社クリアコード <http://www.clear-code.com/> Groongaベースの全文検索システムを総合サポート: http://groonga.org/ja/support/ パッチ採用 - プログラミングが楽しい人向けの採用プロセス: http://www.clear-code.com/recruitment/ コードリーダー育成支援 - 自然とリーダブルコードを書くチームへ: http://www.clear-code.com/services/code-reader/