Namazu

Namazuのインストール

% %%cd /usr/ports/japanese/namazu2%%  portinstall japanese/namazu2
% %%make install%%
% portinstall japanese/kakasi

インデクス作成

インデクス作成ツール設定

cp /usr/local/etc/namazu/mknmzrc-sample /usr/local/etc/namazu/mknmzrc
chmod 644 /usr/local/etc/namazu/mknmzrc
vi /usr/local/etc/namazu/mknmzrc
$ADDRESS = 'webmaster@www.smb.net';
$DENY_FILE = ".*\\.(gif|png|jpg|jpeg)|.*\\.tar\\.gz|core|.*\\.bak|.*~|\\..*|\x23.*";
<= コメント解除(gif、png、jpg、jpeg等を検索対象としない)
    Mailmanの設定ファイルでは
$DENY_FILE = ".*\\.(gif|png|jpg|jpeg)|.*\\.tar\\.gz|core|.*\\.bak|.*~|\\..*|\x23.*|(data|subject|author|thread).html";

$NKF = "module_nkf"; 
$KAKASI = "module_kakasi";
$CHASEN = "module_chasen";
$CHASEN_NOUN = "no";
$WAKATI  = $KAKASI;

indexの作成

mkdir /usr/local/var/namazu/index/piano
mknmz -a /usr/local/www/data -f /usr/local/etc/namazu/mknmzrc -O /usr/local/var/namazu/index/piano/
Mailman保存書庫の検索(abc_MLの場合)
mkdir /usr/local/var/namazu/index/abc
mknmz -a /usr/local/mailman/archives/private/abc -f /usr/local/etc/namazu/mknmzrc -O /usr/local/var/namazu/index/abc/

Mailmanの場合、database ディレクトリがインデックスされる必要はないので、

mknmz '--exclude=/usr/local/mailman/archives/private/tfc/database/' -a /usr/local/mailman/archives/private/tfc -f /usr/local/etc/namazu/mknmzrc -O /usr/local/var/namazu/index/tfc/
Writing index files...
[Base]
Date:                Sun Nov 18 09:12:23 2007
Added Documents:     18,578
Size (bytes):        143,325,694
Total Documents:     18,578
Added Keywords:      861,252
Total Keywords:      861,252
Wakati:              module_kakasi
Time (sec):          1,929
File/Sec:            9.63
System:              freebsd
Perl:                5.008008

Namazu:              2.0.16
Looking for indexing files...
36 files are found to be indexed.
1/36 - /usr/local/www/data/MRTG/cpu.html [text/html]
2/36 - /usr/local/www/data/MRTG/cpu.log [text/plain]
3/36 - /usr/local/www/data/MRTG/cpu.old [text/plain]
       :       :         :          :
35/36 - /usr/local/www/data/webalena.html [text/html]
36/36 - /usr/local/www/data/xtemplate-DTD4.0-T [text/html]
Writing index files...
[Base]
Date:                Sun Nov 18 07:12:36 2007
Added Documents:     36
Size (bytes):        1,006,992
Total Documents:     36
Added Keywords:      7,551
Total Keywords:      7,551
Wakati:              module_kakasi
Time (sec):          8
File/Sec:            4.50
System:              freebsd
Perl:                5.008008

Namazu:              2.0.16

CGI Setting

cp /usr/local/libexec/namazu.cgi /usr/local/www/cgi-bin/
cp /usr/local/etc/namazu/namazurc-sample /usr/local/etc/namazu/namazurc
chmod 644 /usr/local/etc/namazu/namazurc
vi /usr/local/etc/namazu/namazurc
#Replace       /home/foo/public_html/  http://www.foo.bar.jp/~foo/
↓
Replace       /usr/local/www/data/  http://piano.smb.net/ <= 検索対象ディレクトリの置換

#Lang          ja
↓
Lang           ja_JP.eucJP <= 日本語化
vi /usr/local/var/namazu/index/piano/NMZ.head.ja <= ヘッダファイル編集
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=EUC-JP"> <= 追加(文字化け対策)

<!-- <input type="hidden" name="idxname" value="foobar"> -->
↓
<input type="hidden" name="idxname" value="piano">  <= インデックス指定

<a href="{cgi}">[検索方法]</a>
↓
<a href="{cgi}?idxname=piano">[検索方法]</a> <= インデックス指定

http://piano.smb.net/cgi-bin/namazu.cgi?idxname=piano

Mailman書庫検索用設定

検索画面をそれぞれ専用のnamazurc中にReplaceを書いて動作を変更させようとしたが、今のところ
/usr/local/etc/namazu/namazurc
以外のファイル設定での起動法が解らないので、以下のnamazurc-abcはnamazurcを書き換えることで対処中^^;

cp /usr/local/etc/namazu/namazurc-sample /usr/local/etc/namazu/namazurc-abc
chmod 644 /usr/local/etc/namazu/namazurc-abc
vi /usr/local/etc/namazu/namazurc-abc
#Replace       /home/foo/public_html/  http://www.foo.bar.jp/~foo/
↓
Replace       /usr/local/mailman/archives/  http://piano.smb.net/mailman/ <= 検索対象ディレクトリの置換

#Lang          ja
↓
Lang           ja_JP.eucJP <= 日本語化
vi /usr/local/var/namazu/index/tfc/NMZ.head.ja <= ヘッダファイル編集
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=EUC-JP"> <= 追加(文字化け対策)

<!-- <input type="hidden" name="idxname" value="foobar"> -->
↓
<input type="hidden" name="idxname" value="tfc">  <= インデックス指定

<a href="{cgi}">[検索方法]</a>
↓
<a href="{cgi}?idxname=tfc">[検索方法]</a> <= インデックス指定

サイト内に設置する場合

サイト内に検索用のFORMを設置する場合、設置したい場所に以下の内容を記述。

<FORM method="get" action="/cgi-bin/namazu.cgi">サイト内検索
   <INPUT type="text" name="query" size="20">
   <INPUT type="submit" name="submit" value="Search">
   <INPUT type="hidden" name="idxname" value="piano">
   <INPUT type="hidden" name="max" value="20">
   <INPUT type="hidden" name="result" value="normal">
   <INPUT type="hidden" name="sort" value="score">
</FORM>

インデックスの自動作成&不要データ削除

vi ~/namazu.sh <= インデックスの自動作成&不要データ削除スクリプト作成

リモートからWinSCPとPuttyで操作する場合は、

touch /root/bin/namazu.sh

として、ファイルを開き、以下を書き込む

#!/bin/sh
/usr/local/bin/mknmz -qa /usr/local/www/data -f /usr/local/etc/namazu/mknmzrc -O /usr/local/var/namazu/index/piano/
/usr/local/bin/gcnmz -q /usr/local/var/namazu/index/piano/

Mailmanの保存書庫では

#!/bin/sh
/usr/local/bin/mknmz -q '--exclude=/usr/local/mailman/archives/private/tfc/database/' -a /usr/local/mailman/archives/private/tfc -f /usr/local/etc/namazu/mknmzrc -O /usr/local/var/namazu/index/tfc/
/usr/local/bin/gcnmz -q /usr/local/var/namazu/index/tfc/
chmod 755 ~/namazu.sh <= スクリプトに実行権限付加

スクリプトの自動実行

vi /etc/crontab <= 設定ファイルの編集
00 03 * * * root /root/bin/namazu.sh <= 追加(毎日3:00にスクリプト実行)

トップ   編集 凍結解除 差分 履歴 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2008-10-12 (日) 17:13:58