namazuの導入


1.ダウンロードサイト
2.インストール作業
3.メンテナンス作業


1.ダウンロードサイト[▲TOP]

日本語全文検索

(参考ページ)

マニュアルに書いてないNAMAZU「http://www.amays.com/~mizusawa/namazu_kaisetu/index.html」

# rpm -q perl
perl-5.8.0-55
perlの導入確認
無い場合は導入しましょう?
表示はOKの意味
# rpm -q nkf
nkf-1.92-11
nkfの導入確認
無い場合は導入しましょう?
表示はOKの意味

Namazuに関するダウンロード先


2.インストール作業[▲TOP]

# tar xvzf kakasi-2.3.4.tar.gz
# cd kakasi-2.3.4
# ./configure
# make
# make install
kakasiのインストール作業
# tar xvzf Text-Kakasi-1.05.tar.gz
# cd Text-Kakasi-1.05
# perl Makefile.PL

Checking if your kit is complete...
Looks good
Writing Makefile for Text::Kakasi
# make
# make install
Text-Kakasiのインストール作業
# tar xvzf namazu-2.0.12.tar.gz
# cd namazu-2.0.12
# cd File-MMagic
# perl Makefile.PL

Checking if your kit is complete...
Looks good
Writing Makefile for File::MMagic
# make
# make install
# cd ..
# ./configure
# make
# make install
namazuのインストール作業

これまでの作業

/usr/local/bin/の中にnamazu(本体コマンド)、
/usr/local/libexec/ディレクトリの中にnamazu.cgi(cgi版)、
/usr/local/bin/の中にmknmz(インデックス作成用コマンド)、

/usr/local/etc/namazu/の中にnamazurc-sample (namazu設定ファイルの雛形。namazu-2.0.4/conf/の中のものでも良い)、
/usr/local/etc/namazu/の中にmknmzrc-sample

/usr/local/var/の中にnamazu/indexディレクトリ(インデックス作成用のディレクトリ。ここを使わなくても可)

下準備:環境変数の設定
# mknmz
使い方: mknmz [オプション] <対象>...
`mknmz --help' でより詳しい情報が表示されます
この様に出力できれば、問題ありませんが、出力できない場合は環境変数の変更が必要です。
# mknmz /usr/local/share/namazu/doc
検索対象のファイルを調べています...
8個のファイルがインデックス作成の対象として見つかりました
1/8 - /usr/local/share/namazu/doc/en/manual.html [text/html]
2/8 - /usr/local/share/namazu/doc/en/nmz.html [text/html]
3/8 - /usr/local/share/namazu/doc/en/tips.html [text/html]
4/8 - /usr/local/share/namazu/doc/en/tutorial.html [text/html]
5/8 - /usr/local/share/namazu/doc/ja/manual.html [text/html]
6/8 - /usr/local/share/namazu/doc/ja/nmz.html [text/html]
7/8 - /usr/local/share/namazu/doc/ja/tips.html [text/html]
8/8 - /usr/local/share/namazu/doc/ja/tutorial.html [text/html]
インデックスを書き出しています...
[基本]
日付: Thu Apr 24 09:31:48 2003
追加された文書の数: 8
サイズ (bytes): 141,963
合計の文書数: 8
追加キーワード数: 4,242
合計キーワード数: 4,242
わかち書き: module_kakasi -ieuc -oeuc -w
経過時間 (秒): 2
ファイル/秒: 4.00
システム: linux
Perl: 5.008
Namazu: 2.0.10
インデックスの作成
Namazuのオンラインマニュアルを検索対象としてみると。
manazuをwebサーバに組み込む
# mkdir -p /usr/local/apache/var/index
# mknmz -O /usr/local/apache/var/index/home/webteam/htdocs

(出力結果)
インデックスを書き出しています...
[基本]
日付: Thu Apr 24 10:05:05 2003
追加された文書の数: 16
サイズ (bytes): 30,183
合計の文書数: 16
追加キーワード数: 551
合計キーワード数: 551
わかち書き: module_kakasi -ieuc -oeuc -w
経過時間 (秒): 1
ファイル/秒: 16.00
システム: linux
Perl: 5.008
Namazu: 2.0.10
# namazu html /usr/local/apache/var/index
検索結果

参考ヒット数: [ html: 12 ]

検索式にマッチする 12 個の文書が見つかりました。
この様にでればOK
インデックスの作成
# mkdir /usr/local/apache/cgi-bin/namazu cgi-binの操作
cgiプログラムフォルダ内にnamazu専用にフォルダを作成する。
*今後、操作する時にわかりやすいので、cgiプログラムごとに
フォルダを作成しましょう。
# cp /usr/local/libexec/namazu.cgi /usr/local/apache/cgi-bin/n
amazu
コピーする。
# vi /usr/local/apache/conf/httpd.conf


(修正個所)


# This may also be "None", "All", or any combination of "Indexes",
# "Includes", "FollowSymLinks", "ExecCGI", or "MultiViews".
#
# Note that "MultiViews" must be named *explicitly* --- "Options All"
# doesn't give it to you.
#
##Options Indexes FollowSymLinks MultiViews
Options Indexes FollowSymLinks ExecCGI

# CGI directory exists, if you have that configured.
#
<Directory "/usr/local/apache/cgi-bin">
AllowOverride None
Options None
##Order allow,deny  (コメントにする)
##Allow from all    (コメントにする)

</IfModule>
httpd.confの設定
# /usr/local/apache/bin/apachectl stop
/usr/local/apache/bin/apachectl stop: httpd stopped
# /usr/local/apache/bin/apachectl start
/usr/local/apache/bin/apachectl start: httpd started
apacheの再起動
# cd /usr/local/apache/cgi-bin/namazu
# cp /usr/local/etc/namazu/namazurc-sample .namazurc
# ls -a

. .. .namazurc namazu.cgi
Namazu設定ファイルの編集
# vi .namazurc

(編集内容)

###Index /usr/local/var/namazu/index
Index /usr/local/apache/var/index
###Template /usr/local/var/namazu/index
Template /usr/local/apache/var/index
#Replace /home/foo/public_html/ http://www.foo.bar.jp/~foo/
Replace /home/webteam/htdocs/ http://(ドメイン名)/
##
## Logging: Set OFF to turn off keyword logging to NMZ.slog.
## Default is ON.
##
Logging on
##
## Lang: Set the locale code such as `ja_JP.eucJP', `ja_JP.SJIS',
## `de', etc. This directive works only if the environment
## variable LANG is not set because the directive is mainly
## intended for CGI use. On the shell, You can set
## environemtnt variable LANG instead of using the directive.
##
## If you set `de' to it, namazu.cgi use
## NMZ.(head|foot|body|tips|results).de for displaying results
## and use a proper message catalog for `de'.
##
Lang ja
##
## EmphasisTags: Set the pair of html elements which is used in
## keyword emphasizing for search results.
##
EmphasisTags "<strong class=\"keyword\">" "</strong>"
.namazurcの編集
# namazu -f /usr/local/apache/cgi-bin/namazu/.namazurc -C
読み込んだ設定ファイル: /etc/namazu/namazurc
読み込んだ設定ファイル: /usr/local/apache/cgi-bin/namazu/.namazurc
--
インデックス (Index): /usr/local/apache/var/index
ログの記録 (Logging): on
使用する言語 (Lang): ja_JP.eucJP
スコア計算 (Scoring): tfidf
テンプレート (Template): /usr/local/apache/var/index
ヒット件数の上限 (MaxHit): 10000
マッチする語の上限 (MaxMatch): 1000
強調タグ (EmphasisTags): <strong class="keyword"> </strong>
置換 (Replace): /home/webteam/htdocs/ http://(ドメイン)/
確認
ブラウザにで確認
https://(ドメイン)/cgi-bin/namazu/namazu.cgi
この様に表示できればOKです。

3.メンテナンス作業[▲TOP]

namazuの導入しましたら。定期的にインデックスを作成しなければ意味がありませんので、その作業方法を記載します。

1.手動によるインデックスの作成方法

# mknmz -O /usr/local/apache/var/index /home/webteam/htdocs
検索対象のファイルを調べています...

2.自動にてインデックス作成(cronを使ったインデックス作成の自動化)

# crontab -e 何も設定されていなければviが起動
0 4 * * * /usr/local/bin/mknmz -O /usr/local/apache/var/index /home/webteam/htdocs 毎日午前4時にmknmzを起動してインデックスを作成する例

[▲TOP]