$ cp mknmzrc-sample
mknmzrc
$ADDRESS = 'anabui@anabuki.dip.jp';
#
# Network Kanji Filter nkf v1.62 or later
#
$NKF = "/usr/bin/nkf";
$ cp namazurc-sample
namazurc
Index /usr/local/var/namazu/index/
Replace /var/www/html/
http://anabuki.dip.jp
Lang ja
$/usr/local/bin/mknmz
--indexing-lang=ja -O /usr/local/var/namazu/index/
/var/www/html--exclude=/var/www/html/webalizer/*
でインデックスファイルの作成。
#cp
/usr/local/libexec/namazu/namazu.cgi /var/www/cgi-bin でコピー後
http://anabuki.dip.jp/cgi-bin/namazu.cgi
で検索画面が表示された。
完了
ホームペー
ジへの埋め込み
以下の内容をトップページに記載しそこから検索できるようにし
た。
<form method="get"
action="http://www.h-watanabe.miyagino.sendai.jp/cgi-bin/namazu.cgi">
<p><strong> 検索</strong> <input
type="text" name="key" size="30">
<input type="submit" name="submit" value=" GO
"></p>
</form>
自動更新
Namazuのインデックスファイルの更新を手動でやっていたのではたまらないので自動更新として
/etc/cron.daily に 以下のnamazulist.sh
ファイルを作成して夜中に起動するようにした。更新の多いページだと時間毎の実行も必要であるが、私のページなどはほとんど無いので一日一度の実行とし
た。
namazulist.sh
####################
/usr/local/bin/mknmz --indexing-lang=ja -O
/usr/local/var/namazu/index/ /var/www/html/
--exclude=/var/www/html/webalizer/*
Windows
版
Namazu for Win32 とその関連ファイルのダウンロードは以下の場所から行います。
広瀬健一氏による Namazu for Win32 のサポートページ
http://www.namazu.org/windows/
以下は Namazu for Win32 を使うために必要なものです。
-
Namazu for Win32
- プログラム本体で、前掲ページからダウンロードできます。バージョンによってファイル名は異なります。実行ファイル版や
ZIP
書庫版、ソースファイルなどが公開されています。
-
Kakasi for Win32
- 分かち書き用のプログラムと辞書ファイルなどで、Namazu for Win32
のページなどからダウンロードできます。Namazu では実際には Kakasi for Win32 の辞書ファイルのみを必要とします。
-
ActivePerl
- インデックス作成に使うための Perl インタープリタです。ActiveState(http://www.ActiveState.com/ActivePerl/)
にある最新バージョンへのリンクがあります。
-
DCOM95
- Windows95 環境で ActivePerl
を使うときに必要です。以下のものをダウンロードし、ActivePrel
に先立ってインストールしてください。
http://download.microsoft.com/msdownload/dcom/95/x86/en/dcom95.exe
■ ActivePerl のインストール
ActivePerl
は、ダウンロードしたファイルをエクスプローラなどから実行すれば、インストール/セットアップは自動的に行われます。以前の Perl for
Win32 では環境変数の手動操作が必要でしたが、ActivePerl では自動設定です。よく分からなければ、すべてデ
フォルトのままで設定を進めてください。
ここでは、Namazu for Win32(以降は Namazu と表記) と Kakasi for Win32(以降は
Kakasi
と表記)のインストール/セットアップを行います。Perl(ActivePerl)はすでにインストール済みですね。それなら OK。
以降では Namazu と Kakasi を C:
ドライブのルートディレクトリ直下にそれぞれのためのサブディレクトリを作成してインストールするものとします。以前のバージョンとちがい、Namazu
2.0 はデフォルトではルートディレクトリ直下へのインストールでないとうまく動作しないようです。
■ Kakasi のインストール
Kakasi のインストールは以下のようにします。
(1) フォルダ \kakasi を作成
まず、エクスプローラなどでドライブのルートにフォルダ \kakasi を作成します。
(2) 配布ファイルを展開
ダウンロードした ZIP 書庫ファイルをアーカイバを使ってフォルダ \kakasi
に展開します。展開後は以下のようなフォルダ構成になるでしょう。
これで Kakasi のインストールは完了です。Kakasi を Namazu から使う場合は、Kakasi
についてはこれ以上のことをする必要はありません。Kakasi を単独で使う場合は、環境変数の設定などの作業が必要になりますが、これについては
\kakasi にある説明ファイル README-ja.win32 を参照してください。
なお、Namazu から利用するのは、実際には \kakasi\share\kakasi にある 2
個の辞書ファイルだけなので、これらを他の場所(たとえば \namazu 内など)にコピーして使うこともできます。この場合、他の Kakasi
の関連ファイルはすべて削除してもかまいません。ただし、これらの辞書ファイルのパスを示す環境変数も修正する必要があります(後記参照)。
■ Namazu のインストール/セットアップ
Namazu のインストールは以下のようにします。
ダウンロードした EXE
ファイルにはインストーラが組み込まれているので、これをエクスプローラなどから実行すると、以下のように作業が進みます(Windows 2000
の場合)。
「Do you wish to proceed? [Y/n]」と聞かれたら、「Y」にします。す
ると、以下の
ように、環境変数の設定などが自動的に行われていく様子が観察できるでしょう。
次に、「Are you shure to install perl modules ? [Y/n]」と聞かれ
たら、これも
「Y」にします。これは Perl モジュールをインストールするかどうかを選択するものです。モジュールって何かって?
以上でインストール/セットアップに必要な作業が行われます。最後にメモ帳が開いて Readme.txt
が表示されれば、それで万事がうまく行っているはずです。(しかし、話に聞けばそうならない場合もあるそうです。―― 後述)
■ Namazu のフォルダ構成
Namazu は以下のフォルダ構成でインストールされているはずです。
|
- namazu
- Namazu の親フォルダです。
- bin
- Namazu 本体(namazu.exe)と Perl
スクリプト、各種処理用のバッチファイルが入っています。
- etc
- Namazu の環境設定ファイル NAMAZURC のテンプレートが入っています。
- include
- インクルードファイルが入っています。
- lib
- ライブラリが入っています。
- libexec
- Namazu を CGI で使うときの実行プログラム namazu.cgi.exe
が入っています。
- man
- man ファイルが入っています。
- obsolete
- Build 522 以前の ActivePerl 用モジュールなどが入っています。
- share
- 各種の共有ファイル、日本語/英語のドキュメント、フィルタ用スクリプト、HTML
部品などが入っています。
- var
- 検索用インデックスファイルが格納されるフォルダです。
- x86
- いくつかのライブラリのアーカイブが入っています。
|
|
■ インストール/セットアップで行われたこと
次に、Namazu のインストーラが何をしたかを確認しておきます。
(1) Windows95/98/Me の場合
Windows95/98/Me に Namazu をインストールすると、そのインストーラはパス \namazu\bin
をシステムの環境変数 PATH に追加するなど、以下の設定を autoexec.bat に追加します。
REM ###### Namazu for Win32
Environment
variable setting
SET PATH=C:\namazu\bin;%PATH%
SET NAMAZURC=C:\namazu\etc\namazu\namazurc
SET NAMAZULOCALEDIR=C:\namazu\share\locale
SET MKNMZRC=C:\namazu\etc\namazu\mknmzrc
SET HOME=C:\namazu
SET LANG=ja_JP.SJIS
REM ###### kakasi for Win32 Environment variable setting
SET KANWADICTPATH=C:\kakasi\share\kakasi\kanwadict
SET ITAIJIDICTPATH=C:\kakasi\share\kakasi\itaijidict
|
Namazu のバージョンアップのたびにこの設定を autoexec.bat に追加されないためには、以下の行を
autoexec.bat の先頭に入れておきます。
REM !!! DO NOT
MODIFY !!!
|
(2) Windows NT/2000 の場合
Windows NT/2000 に Namazu をインストールすると、そのインストーラは [コントロールパネル] -
[システム] - [環境] タブのシステム環境変数 PATH に、パス \namazu\bin
を追加し、さらに以下の環境変数を新規に追加します。
HOME |
C:\namazu
|
ITAIJIDICTPATH |
C:\kakasi\share\kakasi\itaijidict
|
KANWADICTPATH |
C:\kakasi\share\kakasi\kanwadict
|
LANG |
ja_JP.SJIS
|
MKNMZRC |
C:\namazu\etc\namazu\mkmnzrc
|
NAMAZULOCALEDIR |
C:\namazu\share\locale
|
NAMAZURC |
C:\namazu\etc\namazu\namazurc
|
|
★ それぞれの環境変数について
- 環境変数 HOME は、Namazu のホームディレクトリを指定するものです。
- 環境変数 ITAIJIDICPATH と KANWADICTPATH は、Namazu から参照する Kakasi
の辞書ファイルの場所を指定するものです。
- 環境変数 LANG は、Namazu を日本語環境で利用するための指定です。
- 環境変数 MKNMZ は、MKNMZ
コマンド(\namazu\bin\mknmz.bat)のための環境設定ファイルへのフルパスです。MKNMZ
コマンドは検索インデックスを作成するときに使います。
- 環境変数 NAMAZULOCALEDIR は言語情報ファイルがどこにあるかを指定するものです。
- 環境変数 NAMAZURC は Namazu の環境設定ファイルへのフルパスです。
■ mknmzrc と namazurc
Namazu のインストール/セットアップによって、c:\namazu\etc\namazu に mknmzrc
と namazurc という 2 つのファイルが作成されます。これらは、それぞれインデックス作成コマンド
mknmz(\namazu\bin\mknmz.bat)のための環境設定ファイル(mknmzrc)と、Namazu
本体のための環境設定ファイル(namazurc)です。
mknmzrc
はデフォルトではすべての内容がコメントアウトされています。特に理由がなければ、このまま使いましょう。つまり、mknmzrc
については何もする必要はありません。もしもあなたがデフォルトの内容とは異なる内容でインデックスを作成する場合は、mknmzrc
を適切に編集しなければなりません。たとえば、インデックス対象ファイルを制限したい場合は、変数 $ALLOW_FILE や $DENY_FILE
などで指定される部分を編集することになります。
一方、Namazu の環境設定フアイルが namazurc です。namazurc は Namazu
のインストールによって自動作成されますが、何かの理由でそれを失った場合は、テンプレートファイル
\namazu\etc\namazurc-sample.win32 を使って新規に作成します。
namazurc は、Namazu
のインストーラによってすでにその内容が以下のように設定されているはずです(コメント部分を削除しています)。
Index |
C:\namazu\var\namazu\index |
#Replace |
/home/foo/public_html/ http:
//www.foo.bar.jp/~foo/ |
#Logging |
off |
Lang |
ja_JP.SJIS |
#Scoring |
tfidf |
#EmphasisTags |
"<strong
class=\"keyword\">" "</strong>" |
#Template |
/usr/local/var/namazu/index |
#MaxHit |
10000 |
#MaxMatch |
1000 |
#ContentType |
"text/x-hdml" |
|
Index
C:\namazu\var\namazu\index
―― Index 指令は、インデックスの格納場所を指定します。項目間は半角スペースまたはタブで区切ります。
#Replace
/home/foo/public_html/ http://www.foo.bar.jp/~foo/ ――
Replace 指令は、Namazu による検索では通常はファイル名の先頭にディレクトリ名を入れて検索結果を出力しますが、CGI
で使う場合はそれでは困るのでディレクトリ名部分を URL
に置き換えるためにあります。この指令を有効にするときは行の先頭にある文字 # を削除します。CGI
を利用する場合の設定については後述します。なお、Replace
指令は複数の定義を行うことができるので、たとえばバーチャルドメインサービスを行っている場合、ドメインごとの定義を行うことが敵増す。
#Logging off
――Logging 指令は、検索に使われたキーワードのログを残すかどうかを指定します。残さない場合は、#
を削除して行を有効にします。デフォルトではログを取ります。
Lang ja_JP.SJIS
――
Lang 指令は、使用する言語を指定します。Namazu を日本語環境で使うときは ja_JP.SJIS にします。英語環境で使うときは行頭に
# を入れます。
#Scoring tfidf
――
Scoring 指令は、スコアの重みづけ方法を指定します。デフォルトは simple です。TF IDF 法にする場合は先頭の #
を削除します。IF IDF 法については、\namazu\share\namazu\doc にある manual.html を見てください。
重みづけとは、ドキュメント中の HTML タグの種類やその出現回数に応じてドキュメントの重要度を決めるものです。以下の HTML
タグが評価されます。
<TITLE> <H1>〜<H6> <A> <STRONG> <EM>
<CODE> <KBD> <SAMP> <CITE> <VAR>
対象ページが HTML の正しい論理構造を持っている場合は重みづけの効果があります。
#EmphasisTags "<strong
class=\"keyword\">" "</strong>" ―― Namazu 2.0 からは
HTML ドキュメントの検索でヒットした部分を強調表示できるようになりました。強調表示を行うには行頭の #
を削除します。これについては、メニュー「CGI で Namazu を使う」を見てください。
#Template
/usr/local/var/namazu/index ―― Template 指令は、CGI で Namazu
を使う場合に検索トップページや結果表示ページで使う HTML
部品の場所を指定します。これについては、メニュー「検索フォームをカスタマイズ」を見てください。
#MaxHit 10000
――
MaxHit 指令は、1
回の検索によるヒット件数の上限を指定します。ここで指定した数よりも多くのドキュメントが見つかっても、それらは無視されます。
#MaxMatch 1000
――
MaxMatch 指令は、検索によってマッチする語の上限を指定します。
#ContentType "text/x-hdml"
―― ContentType 指令は、HTML 文書以外のテンプレートファイルを利用する場合に、その Content-Type: を指定します。
この段階では namazurc ファイルの内容を変更する必要はありません。
■ トラブル?
前掲の mknmzrc と namazurc とは Namazu
の動作のために不可欠のファイルですが、環境によってはこれらが自動生成されず、あるいは空のファイルしか作成されず、テンプレートファイルまで空になっ
てしまうことがあるそうです。
この場合、基本的には Namazu のインストールフォルダにある Readme.txt
を見て手作業でセットアップをすればよいのですが、ひとまず前掲の namazurc をテキストエディタなどで作成して
c:\namazu\etc\namazu に保存すれば、それでうまく Namazu を動作させられることもあります。mknmzrc
の方はもともとデフォルトではすべての指令が無効化されているので、空のファイルのままであったとしても同じことですね。
■ 動作を確認する
これで Namazu が使えるようになったはずです。さっそく動作を確認しましょう。コマンドプロンプト(MS-DOS
プロンプト)で以下のコマンドを実行します。
help オプションの前にハイフン(-)が 2 個あります。これで Namazu
のコマンドラインオプションについてのヘルプが表示されれば問題はありません。