Last Update 19:53:39 03/12/08
ここに書いてあることは 1.9.5 ...1.9.14 が混っているので、おかしい ことがあるかも知れません。僕にメールを下さるか、一般的な質問 は namazu ML の方にお願いします。
それ以外にも索引の互換性のない組合せもある。
(でも作り直せばいいのだから、それは問題ではないと僕は思う)
1.3.0.08 / 1.3.0.11 などはまだ広く使われている。
ただし 1.3.0.10 以前のものは DoS 攻撃に弱いという問題がある。
ただし大規模(または責任のある)運用版にはまだ向かないかも知れない。
(ということになっているが僕はそうは思わない。一番の欠点は、きちん
とした文書が用意されていないこと。
それと、開発の途中なので、こまかい仕様が変ってしまうこともある。
動くまでが大変かも知れないが、そ
の後は問題ないと思う)
さて、実際に Namazu と言われているものは、次の二つ
1.9.13 からは、この操作行用 (namazu) と cgi-bin 用 (namazu.cgi) が 「外部からの攻撃を受けないように」 との理由で別物になっている。namazu という名前のものを namazu.cgi として使ってしまっては、その意味がない。
初めに戻る | 参照 | 四つの版 | 準備・make | --help | 動作確認 (索引作成 mknmz) | mknmz の調整 | 動作確認 (検索 namazu) | .namazurc | cgi-bin | 用語 | その他 | 設置資源 | 日記(cvs 版) [installer]
名称 | 説明 | 必須 | 最新版 | 必要な版 | 譜名 | 作成・配布 | 入手先(例) | 設置例 | 使い方 |
---|---|---|---|---|---|---|---|---|---|
Perl | Perl | ○ | 5.005_03 | 5.004 | perl-5.005_03.tar.gz | CPAN | macppc | ||
nkf | Network Kanji Filter 漢字コード変換系 | ○ | 1.9 | 1.71 | nkf171.shar | 琉球大学 | |||
NKF | nkf |
▲ | 1.9 | 1.71 | macppc | ||||
kakasi | 日本語・ | △ | 2.3.1 | <= | kakasi-2.3.1.tar.gz |
|
namazu.org | sparc | |
Text::Kakasi | Kakasi | ▲ | 1.00 | <= | Text-Kakasi-1.00.tar.gz | sparc | |||
Chasen | (茶筌) -- |
△ | 2.01 | <= | chasen-sys2.01 -ipadic2.0.tar.gz | 奈良先端大学 | ftp:// | 配布方針 | sparc | |
Text::ChaSen | ChaSen |
▲ | 0.20 | <= | Text-ChaSen-0.20.tar.gz |
|
Text::ChaSen | sparc | |
gettext | Message localization | ○ | 0.10.35 | <= | gettext-0.10.35.tar.gz | FSF | GNU | macppc BSD make を使う場合は PATCHES.GT を当てておく | |
File-MMagic | File 種別 | ○ | 0.19 | <= | File-MMagic-0.19 |
|
CPAN dist | cd File-MMagic ; perl Makefile.PL ; make ; (su) make install | |
当然、次のものも必要である。 | |||||||||
Namazu | なまず本体 | ○ | 1.9.14 | <= | namazu-1.9.14.tar.gz | Project Namazu | namazu/proto/ | ./configure; make ; make install だけで設置出来る |
初めに戻る | 参照 | 四つの版 | 準備・make | --help | 動作確認 (索引作成 mknmz) | mknmz の調整 | 動作確認 (検索 namazu) | .namazurc | cgi-bin | 用語 | その他 | 設置資源 | 日記(cvs 版) [installer]
引数 | 意味 | その他に引数を付けると | 実行例 | |
---|---|---|---|---|
mknmz | namazu | |||
無 | とても簡単な説明 | (他の引数・選択は付けられない) | ||
--help | 詳しい説明 | (他の引数・選択は無視される) | * | * |
-C | その時の構成 | (他の引数・選択も意味がある) | * | * |
初めに戻る |
参照 |
四つの版 |
準備・make |
--help |
動作確認 (索引作成 mknmz) |
mknmz の調整 |
動作確認 (検索 namazu) |
.namazurc |
cgi-bin |
用語 |
その他 |
設置資源 |
日記(cvs 版)
[installer]
【動作確認 mknmz】
さて、組立たばかりのものを使って、まずは索引を作る。
これには次のようにする。1.4.0.8 からは少し書式が変っていて
URL の置換は
--replace を使って明示的に指定する
ようになった。
(但し namazu で表示する時にも REPLACE が出来る。
mknmz では --replace を指定しないで実行し、
namazu の実行時に
.namazurc の方で調整する。という方法である。
高林さんは、その方をすすめるようにすると書いている)
mknmz [options] 検索 directoryとする。この場合、結果の検索索引(index) は現案内 (current directory) に作られる。もし出力先を変更 したい時には -O を使う。
例えば
mkdir /tmp/indexなどとして見る。(最後のピリオドにも注目)
cd /home/htdocs/software
mknmz -O /tmp/index \
--replace='s#/home/htdocs/software/#http://www.ki.nu/software/#' .
find_target: Scanned : (1267), Files: (1265), Elapsed: (8), Files/sec: (158.1).find_target という処理の中で、1267 個の譜が見つかったが、 $DENY_REGEX $EXCLUDE_REGEX $ALLOW_REGEX $HTML_SUFFIX などの設定により、そのうち 1265 を処理する。この部分にかかった秒数 は 8, 一秒に 158 個の割合で譜を調べた。 という意味になる。Scanned/Files の差が自分の意図 と違っている場合は、上記 四変数を調べた方がいい。 (通常 .mknmzrc に設定する)。
初めに戻る |
参照 |
四つの版 |
準備・make |
--help |
動作確認 (索引作成 mknmz) |
mknmz の調整 |
動作確認 (検索 namazu) |
.namazurc |
cgi-bin |
用語 |
その他 |
設置資源 |
日記(cvs 版)
[installer]
【mknmz の調整】
mknmz の操作行の指定の説明は
mknmz --help で、また、
-C を付けると、その時の構成を表示してくれる。
これらについては --help の項目を参照のこと。
短縮形 | 本名 | 説明 |
---|---|---|
-a | --all | を付けると全て調べる |
-e | --robots-txt | ロボットよけされているファイルを除外する |
-A | --htaccess | .htaccess で制限されたファイルを除外する |
-F | --target-list=file | インデックス対象のファイルのリストを読み込む |
-t | --media-type=mtype | 対象ファイルの文書形式を指定する |
--allow=regex | 対象ファイル名の正規表現を指定する | |
--deny=regex | 除外するファイル名の正規表現を指定する | |
--exclude=regex | 除外するパス名の正規表現を指定する |
初めに戻る |
参照 |
四つの版 |
準備・make |
--help |
動作確認 (索引作成 mknmz) |
mknmz の調整 |
動作確認 (検索 namazu) |
.namazurc |
cgi-bin |
用語 |
その他 |
設置資源 |
日記(cvs 版)
[installer]
無指定では、namazu は
/usr/local/var/namazu/index に検索索引を見に行く
初めに戻る |
参照 |
四つの版 |
準備・make |
--help |
動作確認 (索引作成 mknmz) |
mknmz の調整 |
動作確認 (検索 namazu) |
.namazurc |
cgi-bin |
用語 |
その他 |
設置資源 |
日記(cvs 版)
[installer]
さて、設定出来る項目については、
src/rcfile.c の 98 行目辺りに次のような部分があるので分る。【動作確認 namazu】
初めは操作行 (command line) で /usr/local/bin/namazu 検索文字列
を試すのが手軽である。
.namazurc
namazu の実行時に設定を出来るしくみがある。
通常 .namazurc という名前の譜に設定するが、これを
次のように探す
/*
* 1. current_executed_binary_dir/.namazurc
* 2. ${HOME}/.namazurc
* 3. DEFAULT_NAMAZURC (SYSCONFDIR/namazurc)
*/
通常 SYSCONFDIR は /usr/local/etc/namazu になっている。
./configure --sysconfdir= で変更出来る
この仕組を使えば、同じ namazu でも例えば cgi-bin の path 毎に
INDEX を変えたり、LANG を変更したり出来る
static struct conf_directive directive_tab[] = {
{ "BLANK", 0, 0, process_rc_blank },
{ "COMMENT", 0, 0, process_rc_comment },
{ "DEBUG", 1, 0, process_rc_debug },
{ "INDEX", 1, 0, process_rc_index },
{ "ALIAS", 2, 1, process_rc_alias },
{ "REPLACE", 2, 0, process_rc_replace },
{ "LOGGING", 1, 0, process_rc_logging },
{ "SCORING", 1, 0, process_rc_scoring },
{ "LANG", 1, 0, process_rc_lang },
{ "EMPHASISTAGS", 2, 0, process_rc_emphasistags },
{ "TEMPLATE", 1, 0, process_rc_template },
{ NULL, 0, 0, NULL }
};
以上の変数を設定出来る。
変数 | 設定内容 | 説明 | ||||||||||||||||||||||||||||||
BLANK | - | 利用出来ない(内部用)
COMMENT | - | 利用出来ない(内部用)
| DEBUG | ON/OFF | 内部動作表示の入切をする (主とし
て、開発者用)
| INDEX | PATH | 索引の位置
| ALIAS | name | INDEX の別名を設定 別稿参照
| REPLACE | s/path/http/ など | path の置換 別稿参照
| LOGGING | ON/OFF | 記録を取るかどうか設定する
| SCORING |
TFIDF/SIMPLE | 検索結果の点数付の方法
| LANG | en/ja | 処理の言語を設定。
環境変数LANGが設定されていないときのみ有効。主として CGI
向けの設定項目である。
| EMPHASISTAGS | キーワードを強調するタグを設定する |
TEMPLATE | PATH | 検索結果の表示の際に用いる NMZ.{head,foot,body,tips,results}
ファイルが置かれているディレクトリを設定する。
| |
(この項 1.9.12 から更に変更している。1.9.12 の場合と少し表示が違う) > namazu -C 設定ファイル: /usr/local/etc/namazu/namazurc インデックス (Index): /usr/local/var/namazu/index <BASE>タグ (Base): unsupported ログの記録 (Logging): on 使用する言語 (Lang): japanese スコア計算 (Scoring): tfidf また LANG=C なら 次のようになる > ( setenv LANG C ; namazu -C ) Config: /usr/local/etc/namazu/namazurc Index: /usr/local/var/namazu/index Base: unsupported Logging: on Lang: C Scoring: tfidf初めに戻る | 参照 | 四つの版 | 準備・make | --help | 動作確認 (索引作成 mknmz) | mknmz の調整 | 動作確認 (検索 namazu) | .namazurc | cgi-bin | 用語 | その他 | 設置資源 | 日記(cvs 版) [installer]
ScriptAlias | /cgi-bin/ /usr/local/apache/cgi-bin/ | /cgi-bin/ と来た時に、どこを見に行くか |
AddHandler | cgi-script .cgi | .cgi と付いていれば cgi として実行する |
AllowOverride | All | .htaccess での設定を有効にする(= 許可する)(管理者) |
Options | ExecCGI | cgi-bin の実行を許す |
DirectoryIndex | index.html | URL が directory を指している時に探す譜名 |
これをどのような時に使うかと言うと、 以前に実行したことのある mknmz を同じ条件で、 更新する時である。
索引の中 (NMZ.status) に、 以前に実行した時の設定を覚えている。これを使って、 それと同じように実行する。つまり、
mknmz --update=(以前の索引の置いてあるところ)とするだけで、全て同じ条件で更新する。 初めに戻る | 参照 | 四つの版 | 準備・make | --help | 動作確認 (索引作成 mknmz) | mknmz の調整 | 動作確認 (検索 namazu) | .namazurc | cgi-bin | 用語 | その他 | 設置資源 | 日記(cvs 版) [installer]
(準備) (検索画面) mknmz namazu ↑ ↓ ↓ ↓ 元々の資料 検索索引 検索結果 (インデックス)のようにして予め検索索引を作っておき、検索画面での 入力があった時には、それを見て結果を表示するという動作を する。この「予め作られた「検索索引」のことをインデックス と呼んでいる。
mknmz の時には、無指定で現案内 (current directory) に書き出す。 これは -O directory で変更することが出来る。 (指定する案内(directory) は予め作っておくこと。 そうでないと Invalid directory というような文字が表示される)
namazu の時には 無指定で /usr/local/var/namazu/index に、 また .namazurc の INDEX の行で変更することが出来る
実際にどのような名前のものが出来るかの一覧 も用意して見ました。
1. mknmz -f で指定された譜 2. mknmz がある案内 (directory) の .mknmzrc 3. ~/.mknmzrc 4. @SYSCONFDIR@/mknmzrc (通常 /usr/local/etc/namazu/mknmzrc) の優先順位で mknmz の設定ファイルを読む。実際には上記 4 3 2 1 の順で読み設定を上書きして行くので、設定としては上の順に優先される。conf.pl はまだ残っているが、これは ~/.mknmzrc で 変更したいようなものの設定がしてある
なまずに必要な Perl の部品が入っているかどうかは perl -MText::Kakasi -e '' perl -MText::ChaSen -e '' perl -MNKF -e '' のように入力した時に、何も表示されなければ良い。
Comments on anything welcome to makoto@ki.nu(since 2000/01/29)