_ [tDiary] 第二tDiary.Netお引越し計画(あるいはtdiary-hyperestraier)
第二tDiary.Netのサーバは、今のところNaClのご厚意で松江に置かせてもらっているのですが、将来的には移転を考えています。
その候補として、CentOSによるXen環境を試験的にお借りしているので、そこに第二tDiary.Netのシステムと私の日記のデータをコピーして、試してみました。
- CentOS4.4のrubyが古いのでCentOS-4 Testingをyumのレポジトリに追加
- パッケージが無いのでerbscan, fcgi, ruby-fcgi, mod_fcgidを自前でビルド
- tDiaryが動くのを確認
- パッケージが古いのでapr, apr-utilsを自前でビルド
- パッケージが無いのでicu, rastを自前でビルド
- rastが動かない!
- いろいろ調べてみるとCentOSのXen環境ではBerkeleyDBが動かない(からRastも動かない)らしい
- これはtdiary-rastをhyperestraierに移植せよというお告げ?
- パッケージが無いのでqdbm, hyperestraierを自前でビルド
- ドキュメントを読みながらtdiary-rastをhyperestraierに移植
- だいたいできた♪ ←いまここ
はぁはぁ、ぜぇぜぇ。今日はこのへんで勘弁してください。。。
hyperestraier(のrubyバインディング)の使い方がまだいまいちわかっていないので、件数無制限にとりあえず検索してから、ページネーション相当の部分だけ表示させているのですが、全件分のテキストをまるごと取得するわけじゃないのでこれでいいのかな。
あと、検索結果付近のサマリー表示みたいなのがよくわからなかったので、いまのところ登録テキストが全部検索結果に表示されています。
そんなわけで、まだまだリリース品質には遠いのですが、いずれ公開したいと思います。
お気付きかもしれませんが、検索でエラーが出ています。<br>一時的なものかもしれませんが、いちおうご報告しまーす。<br><br>undefined method `doc_num' for nil:NilClass (NoMethodError)<br><br>(erb):32:in `do_eval_rhtml'<br>/home/tdiary/tdiary/core/tdiary.rb:1073:in `do_eval_rhtml'<br>/home/tdiary/tdiary/core/tdiary.rb:1016:in `eval_rhtml'<br>/home/tdiary/users/kazuhiko/search.rb:222
> tamoさん<br>ご報告ありがとうございます。まだインデックス作成中ですが、今は治っているはずです。
っと、やはり作業中だったのですね。なんという早業。 <br>正規表現([RX] と書くだけ)まで使えて高機能! 素敵です。 <br> <br>(ダブルクオートでフレーズ検索できない、と思ったら、 <br>Hyper Estraier では「簡便表記」扱いでオプショナルなんですね。 <br>これは有効のほうが便利かもしれません。) <br> <br>速度も快適です。感謝します。 <br> <br>
> tamo さん <br>ただのスペース区切りがフレーズ検索ですが、日本語での検索の場合には、それって直感的でない気はしますね。簡便表記にすると、それはそれで正規表現検索とかできなくなりますね。 <br>というわけで、デフォルトは簡便にしておいて、プルダウンで切り替えられるようにしました。
なるほど。わかってきました。私もそれが最善の選択だと思います。 <br> <br>でも試そうと思ったら tamo.tdiary.net が検索できなくなってました。 <br>なにかみんなと Date クラスの仕様が違うんでしょうか。 <br>Nil は出てないのでデータベース更新中というのとは違いますよね、 <br>お時間のあるとき見ていただけると嬉しいです。 <br> <br>undefined method `parse' for Date:Class (NoMethodError) <br> <br>/home/tdiary/users/tamo/search.rb:109:in `format_result_item' <br>(erb):54:in `do_eval_rhtml' <br>(erb):50:in `each' <br>(erb):50:in `do_eval_rhtml' <br>/home/tdiary/tdiary/core/tdiary.rb:1077:in `do_eval_rhtml' <br>/home/tdiary/tdiary/core/tdiary.rb:1020:in `eval_rhtml' <br>/home/tdiary/users/tamo/search.rb:247 <br> <br>
> tamoさん <br>ご報告ありがとうございます。 <br>require "date"を忘れていました。私の環境では、有効にしているプラグインのどこかでrequireされていたのでエラーにならなかったので気づきませんでした。さきほど修正しました。