Endo Akira
endo4****@goo*****
2014年 3月 6日 (木) 17:56:11 JST
須藤さん、ありがとうございます。2.1.0で変更されたのですね。 きちんとフォローできておらず、オロオロしてしまいました。 rubyの方は、1.9で書いてあったので、2.1に問題なく移行でき ました。 1.2.0は3年前のバージョンでしたか。50万レコードの検索を どうしたらいいのか呆然としているところでgroongaを発見し、 ほんとうに助かりました。 record.key.keyは、tutorialに生き残っていたので、ご報告しました。 幸いattributesで中身が見えましたので、試行錯誤でうまくいって しまいました。record["_key"]に修正しておきます。 もうじき66歳の誕生日、rroongaの子守りは今回の事件で後輩に託す ことができました。もう一つ生き残っているのがrails1.2.6によるアプリ。 こちらも業務用なので、ハードディスクが壊れてもまた立ち上げないと いけないのですが、とても無理そう。ライブラリに依存するアプリの メンテナンスは結構つらいものがありますね。 遠藤 明 2014/03/06 (Thu) 16:25, "Kouhei Sutou" <kou****@clear*****> wrote: > 須藤です。 > > In <df3c5906-a457-3d3f-8f9a-c02e5c273b65 @ api104> > "[groonga-dev,02170] rroonga4.0.0のrecord.key" on Thu, 06 Mar 2014 16:03:30 +0900, > "Endo Akira" <endo4****@goo*****> wrote: > > > 昨日rroongaを使っている検索サーバーがクラッシュした、との連絡を受け、 > > 今日復旧に行ってきました。rroonga1.2.0を使って作ったrailsアプリですが、 > > gemを探しても1.2.0は見つからず、4.0.0をいれて走らせましたがエラーが > > 出てしまいます。エラーは、undefined method 'key' for nil:Nilclassという > > 感じのもの。record.key.keyという熟語を使った部分です。 > > とりあえず、record.attributesを見て、record._keyで何が出てくるか見たら > > 使えそうだったので、record.key.keyの代わりにrecord._keyと直して、今日の > > ところはごまかしてきましたが、帰宅してtutorialを見たら、record["_key"]と > > いうのが出ていました。 > > たぶん、sortした結果にアクセスしているところですよね。 > Rroonga 2.1.0での非互換な変更なんですが、sortした結果をRuby > のArrayではなくGroongaのGroonga::Arrayで返すようにしたのです。 > > record._keyとrecord["_key"]の違いですが、どちらも動きは同じ > ですが、record["_key"]の方が少し効率がよいはずです。 > > "key"ではなく、"_key"というように最初に"_"をつけると参照先の > テーブルを勝手にどんどん辿っていってくれるのはRroonga固有の > 機能ではなく、Groongaの機能です。Groongaのselectコマンドでも > --output_columns _keyとしたときもどんどん辿っていっています。 > > で、特に途中のテーブルに処理結果に興味がない場合は.key.keyと > いうように辿らないで_keyに任せちゃうのは正しい使い方です! > > > 1.2.0は2011-04-01リリースなので、3年くらい前のリリースですね。 > 当時から元気に動いていたようでよかったです。今回はクラッシュ > してしまったということですが。。。 > > > -- > 須藤 功平 <kou****@clear*****> > 株式会社クリアコード <http://www.clear-code.com/> (03-6231-7270) > > Groongaサポート: > http://groonga.org/ja/support/ > パッチ採用はじめました: > http://www.clear-code.com/recruitment/ > コミットへのコメントサービスはじめました: > http://www.clear-code.com/services/commit-comment.html > > _______________________________________________ > groonga-dev mailing list > groon****@lists***** > http://lists.sourceforge.jp/mailman/listinfo/groonga-dev >