ongaeshi
ongae****@gmail*****
2015年 3月 19日 (木) 00:58:20 JST
おんがえしです。 > $ gem uninstall rroonga -v 4.0.3 > > したらどうなるか、明日試してみます。 残念ながらアンインストールしても結果は変わりませんでした。 やはりテストした環境が怪しい気がしたので、 別のWindows環境を使ってテストしてみました。 [再現手順] ・Rroonga 4.0.3 をインストール ・Milkodeデータベースを作成、検索出来ることを確認 ・Rroonga 5.0.0 をインストール ・5.0.0でも4.0.3で作ったデータベースが検索出来ることを確認 ・set GRN_IO_VERSION 1 ・GRN_IO_VERSION=1でも【検索出来ることを確認】 ・milk rebuild --all ・データベースのサイズが小さくなることを確認 他の環境だと5.0.0に更新しても正しく動くことが 確認出来ました。何度か同じ手順を繰り返してみましたが 再現性もありました。 なぜ旧環境だと正しく動かなかったのかはイマイチ原因が 分からないのですが、検証のためにRroonga5.0.0を入れた後に 5.0.0をアンインストールして4.0.3を入れたりRroongaの バージョンをいったりきたりしている時に 何かやってしまったのかもしれません。 そういえば旧環境でも最初に5.0.0をインストールした時は 上手く動いていたような記憶があります(あやしい) 環境によって結果が違ってしまい申し訳ないのですが 何度か環境を作り直してテストもしたので、 今回のデータの方が信頼性があるのではないかと感じています。 他の環境でもどなたか試してもらえるとありがたいです。 よろしくお願いいたします。 2015年3月17日 23:47 ongaeshi <ongae****@gmail*****>: > もしかして複数バージョンのRroonga gemが混在していると上手く動かなかったりしますか?私は、 > > 1. Rroonga 4.0.3 をインストール (データベースを作成して待避) > 2. Rroonga 5.0.0 をインストール > 3. 2つのgemがインストールされている状態でGRN_IO_VERSIONを設定したりして実験(最新なので5.0.0が使われているつもり) > > でやっていました。 > > $ gem uninstall rroonga -v 4.0.3 > > したらどうなるか、明日試してみます。 > > ※ 他の人の環境で動くようなら私の環境に何か問題があるのかもしれませんね・・ > > > 2015年3月17日 20:43 Kouhei Sutou <kou****@clear*****>: >> 須藤です。 >> >> 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/ >> >> _______________________________________________ >> groonga-dev mailing list >> groon****@lists***** >> http://lists.sourceforge.jp/mailman/listinfo/groonga-dev > > > > -- > /****************************************** > ongaeshi > MAIL: ongae****@gmail***** > WEB: http://ongaeshi.me > Twitter: http://twitter.com/ongaeshi > ******************************************/ -- /****************************************** ongaeshi MAIL: ongae****@gmail***** WEB: http://ongaeshi.me Twitter: http://twitter.com/ongaeshi ******************************************/