動的ページと静的ページをNamazuにインデックスさせる方法

前回書いた「動的ページをNamazuに読ませる」方法が一応解決したのでメモ。
結局下記の方法で解決させた。

■解決法2
Namazuのインデックス構築の前に「wget」でコンテンツを取得してからNamazuに食わせる。

http://d.hatena.ne.jp/hiroshinozawa/20081022/1224696169

具体的には、下記のようなシェルを記述し、毎日定時にインデックスを更新する。
環境変数の日本語対応も含めていろいろ一度にやらせる。

namazu_cron.sh

#!/bin/sh

PATH=/usr/local/bin:/usr/bin:/bin:/usr/local/sbin:/usr/sbin:/sbin
export PATH
LANGUAGE=ja ;export LANGUAGE
LANG=ja ;export LANG

wget -r http://hogehoge.jp/

mknmz  --no-encode-uri -aO /var/www/vhosts/www.hogehoge.jp/html/NAMAZU/index/ /var/www/vhosts/www.hogehoge.jp/html/NAMAZU/wget_folder

上記ファイルを/var/www/vhosts/www.hogehoge.jp/html/NAMAZU/wget_folder/namazu_cron.sh
として保存し、cronにて呼び出す。

ポイントとしては、mknmzしたときにURLエンコードさせないようにするのと、.namazurcに下記を記述してwgetしたファイルそのものにNamazuからリンクさせないようにすること。

Replace       /var/www/vhosts/www.hogehoge.jp/html/NAMAZU/wget/hogehoge.jp/ http://www.hogehoge.jp/

この解決法の問題点としては、wgetする際にコンテンツ量が増えてきたら処理が重くなってしまう事だな〜。

ちなみに、最近主流のUTF-8の検索窓からnamazu.cgiに飛ばすと、日本語が文字化けします・・・orz

これを根本的に解決するにはnamazu本体にutf-8対応バッチを当てて自力でコンパイルする方法があるが、少々つらい・・

やはり一枚ラッピングしたphpなりcgiかまして、文字コードeuc-jpに変換してからnamazu.cgiにリダイレクトさせましょう。