2004年01月15日(木) ★★★ [長年日記]
§1 XREA+tDiary+Namazu
今年からボクの日記をXREAに引っ越ししたが、全文検索は外した状態だった。無くても良さそうだしtDiaryの方でgrepを標準添付するという動きもあるようなのでのんびり構えていたが、XREAのサーバーには標準でnamazuがインストールされているのでボクの日記で使ってみることにした。
最初から/virtual/userID/namazu/にnamazu.cgiとmake_index.shが入っている。この2つのファイルを日記のディレクトリに/namazu/を作ってその中にコピーする。make_index.shの中を適宜自分の環境に合わせて編集した後ブラウザからcgiとして実行するためmake_index.cgiとして保存する。
#!/bin/sh echo "Content-type: text/html <HTML><BODY> Make index...<HR> <TEXTAREA COLS=80 ROWS=50> " echo 'Index /virtual/userID/namazu/nobdiary' > .namazurc echo 'Template /virtual/userID/namazu/nobdiary' >> .namazurc echo 'Replace /virtual/userID/var/tdiary/nobdiary/cache/html/(\d\d\d\d)/ http://nob.ivyvalley.net/diary/\1' >> .namazurc echo 'Logging on' >> .namazurc echo 'Lang ja' >> .namazurc echo 'MaxHit 10000' >> .namazurc echo 'MaxMatch 1000' >> .namazurc cp -uf /usr/local/libexec/namazu.cgi ./;chmod 700 *; cd /virtual/userID/namazu/nobdiary/ /usr/local/bin/mknmz -V --media-type='text/html' --indexing-lang=ja /virtual/userID/var/tdiary/nobdiary/cache/html/ > /virtual/userID/namazu/nobdiary/make_index.log cat /virtual/userID/namazu/nobdiary/make_index.log echo "</TEXTAREA><HR>Finished!! </BODY></HTML>" exit
namazuはmsearchと違ってwebから見えない場所にsqueeze.rbのはき出すHTMLが有ってもReplaceで書き換えてくれるので今までのように自分のDiaryのディレクトリでなく、squeeze.rbのdefaultであるcache内でも可能になった。もちろんインデックス用のディレクトリ/virtual/userID/namazu/nobdiaryは先に掘っておく必要がある。
これで/diary/namazu/namazu.cgiを実行すればよい。tDiaryプラグインのsearch_form.rbを使えば簡単に日記内にフォームを設置できる。
と、ここまでは良いのだが、インデックスの自動更新をどうするかがいまいちひらめかない。日記だけならcrontabで実行すればよいが、今回のようにサイト自体をtDiaryとHikiだけで構成しているので、ディレクトリ毎に動いているtDiaryがsqueeze.rbではき出すHTMLをインデックス化しなければならないわけで。しかし、XREAが最近crontabを許可したとはいえ、管理画面からは3つまでしかジョブを登録できない。しかも負荷が高いと蹴られるようだし。
プラグインで自動更新というのがtrial(日記)で紹介されていたのでそれを使わせてもらうか、1つのシェルスクリプトに複数のジョブを実行させてcrontabで動かすか、何らかの方法を考えないと実現できない感じです。もうしばらく悩みそう。
一旦trial(日記)の記事を見て試してみることにした。ちゃんとインデックスが出来るかなぁ?
追記:
うまくいきました。たぶん大丈夫なんだと思います。
# zzz_nobdiary_mknmz.rb @my_mknmz = "/usr/local/bin/mknmz" @my_mknmz_outdir="/virtual/userID/namazu/nobdiary/" @my_mknmz_target="/virtual/userID/var/tdiary/nobdiary/cache/html" @my_mknmz_logfile="/virtual/userID/log/nobdiary-namazu.log" add_update_proc do my_mknmz '' end def my_mknmz() cmd_line = %Q[#{@my_mknmz} --media-type='text/html' --indexing-lang=ja -O #{@my_mknmz_outdir} #{@my_mknmz_target} > #{@my_mknmz_logfile} 2>&1] system(cmd_line) end
このようにtrial(日記)からもらってきたzzzmknmz.rbの変数を自分の環境に合わせて書き換えプラグインディレクトリに入れたあと、日記を更新して指定したlogファイルを見るとインデックスが更新されてました。
まず最初にインデックスを作るときはmake_index.cgiでつくって、その後の日記の更新時にzzz_nobdiary_mknmz.rbを使うと負担も軽く、確実にインデックスがアップデートされていくという実に快適なシステムになりました。ありがとうございます。
§2 副鼻腔炎その後
あの後再び受診してそれまでの薬の効き目などを聞かれた後、血液検査をしてみて最終判断し、耳鼻科へ紹介するとのことだった。今日その血液検査の結果を聞きに行ってきた。
検査の結果は異常なし、炎症反応も出てないし白血球の数も正常。今回の血液検査の結果だけ見ると全くの健康体とのことでした。熱もなく風邪の症状もないのでこれ以降は耳鼻科の受診を勧められた。
副鼻腔炎の治療は時間がかかる場合が多いので近くで通いやすい所がよいと判断し何処か紹介してくれとお願いしたら。先生の娘さんやお孫さんが通っているという耳鼻科のお医者さんを紹介されました。京都府立医大の先生だそうで今でも医大の方へも行かれているとのこと、義弟が鼻を患ったときもその先生はよかったとの事なので安心してかかれそうです。
出来れば明日にでもさっそく行ってこようと思う。ただ、場所柄駐車場が有るかどうか不明なので通い方を考えなければならないなぁと思案中である。花粉症の季節までにそこそこの目処を立てたいなぁ(^^;
§3 今夜の薬
- ハルシオン