Namazu/2,設定
namazuをはじめとする全文検索エンジンは、 インデックス と呼ばれる検索語句によく使われるワードを格納したデーターベースを作成し、検索時にそこを参照することによって、高速性、低負荷性を実現している。このため、そのデーターベースを自分で作成する必要がある。namazuでは、mknmzというコマンドでこれを実現する。
まずは、namazurcとmknmzcの設定を行う。先ほどの/home/name/etc/namazuにインストールされたひな形をダウンロードし、必要箇所を設定する。ローカルでインストールされているため、すべて変更する必要がある。(/???/var/namazuの/???を/home/nameに変更)
- namazuc
- インデックスの格納ディレクトリ:
Index /home/name/var/namazu/index
テンプレート格納ディレクトリ(通常は、インデックスと同じ)Template /home/name/var/namazu/index
検索結果のアドレスの書き換え。(上が一般用、下がWiki用。 *順番に注意!* ):Replace /home/name/public_html/ http://domain.co.jp/ Replace /home/name/public_html/wiki/ http://domain.co.jp/?
サブドメインを使っている場合は、以下のようにすると反映される。Replace /home/name/public_html/sub/ http://sub.domain.co.jp/
言語の設定。(これを忘れるとちゃんと日本語にならない)Lang ja
- mknmzc
- アドレス(別にメールアドレスでなければならないと言うことは無い・・・と思う):
$ADDRESS = 'yourname@domain.co.jp';
NKFのインストール先$NKF = "/home/name/bin/nkf";
kakasi$KAKASI = "/home/name/bin/kakasi";
茶筅$CHASEN = "/home/name/bin/chasen";
漢字の読みに使うスクリプトのパス(ここでは、kakasiを選んでいる。)$WAKATI = $KAKASI;
現状では、テンプレートを読み取ってないのでスクリプトをwebで実行しても白紙の状態になるだけである。次は、このテンプレートを作成する。
cp /home/name/share/namazu/template/NMZ.body.ja /home/name/tmp/namazu/ cp /home/name/share/namazu/template/NMZ.foot.ja /home/name/tmp/namazu/ cp /home/name/share/namazu/template/NMZ.head.ja /home/name/tmp/namazu/ cp /home/name/share/namazu/template/NMZ.result.normal.ja /home/name/tmp/namazu/ cp /home/name/share/namazu/template/NMZ.result.short.ja /home/name/tmp/namazu/ cp /home/name/share/namazu/template/NMZ.tips.ja /home/name/public_html/tmp/namazu/
この例では、tmpディレクトリのnamazuにテンプレートをコピーしている。これらのファイルは、HTMLでかかれている。自分のサイトのデザインにあわせて修正してみよう。なお、 *文字コードはどのファイルもEUC-JP* である。これを間違えると文字化けの原因となる。オリジナル版では記述されていないが、NMZ.head.jaには<head>~</head>内に以下を追記することを強く推奨。
<meta http-equiv="content-type" content="text/html;charset=EUC-JP" />
これは、namazuが検索する対象の文字コードに関わらず、出力はEUC-JPで処理されるからであり、異種文字コード間で使用時に文字化けをふせぐためである。
ファイル名とその内容は以下の通り
ファイル名 | 内容 |
---|---|
NMZ.body.ja | 検索フォームと説明 |
NMZ.foot.ja | フッタ |
NMZ.head.ja | ヘッダ |
NMZ.result.normal.ja | 検索結果のテンプレート |
NMZ.result.short.ja | 簡易検索結果のテンプレート |
NMZ.tips.ja | 検索方法のヘルプ |
PukiWikiのwikiデーターは、ご存じの通りディレクトリ『wiki』内に*.txtとして存在する。このため、単純に
/home/name/bin/mknmz -f -O /home/name/var/namazu/index/ -L ja -c -K /home/name/public_html/wiki/
と、コマンドを実行してもヒットするのはwikiの生データであり、たとえば、FrontPageが検索結果に出た場合、そのアドレスの行き先が
http://logue.tk/wiki/46726F6E7450616765.txt
になってしまうだろう。ここで、ほしいのは、その文章のアドレスであるため、Namazu専用にそのデーターを変換しなければならない。
この変換作業を行うために *フィルタ* という機能を使う。
Last Modified: 2006-01-31 18:25:23