●namazuのインストール
namazuをインストールします。
●namazuのコマンド設定
mknmzコマンドの設定
検索に使用するインデックスを作成するmknmzコマンドを設定します。
namazuコマンドの設定
インデックスをもとに検索を行うnamazuコマンドを設定します。
●namazuの確認
インデックス作成
例として、/home/public/public_html以下のインデックスを/var/lib/namazu/index/publicに作成してみます。
インデックスをもとに検索
●Webから検索する
Webページ上からNamazuを利用するためのCGIをインストールします。
●namazu.cgiの設定
●namazu.cgiの確認
http://(サーバー名)/cgi-bin/namazu.cgi?idxname=publicにアクセスして「Namazuによる全文検索システム」というページが表示されますので、キーワードを入れて検索してみます。
※idxname=publicのpublicの部分は、インデックス作成先ディレクトリ名(ここでは/var/lib/namazu/index/public/なのでpublic)を指定します。
●namazu用検索ウィンドウの作成
DocumentRootディレクティブに注意して作成します。例:/var/www/html以下に作成
●インデックス更新自動化
●検索結果ページのデザイン変更
namazuによる検索結果ページは以下のファイル(中身はHTML)を編集することによって、デザインを自由に変更することができます。
●特定ディレクトリのみのサイト内検索
既に作成済であるサイト内の全ファイル(例:/home/public/public_html)を検索できるページのほかに、サイト内の特定ディレクトリ(例: /var/www/html/)内のファイルのみ検索できるようにしたい場合は、新たにインデックスを作成すればよい。
NMZ.*ファイルの仕様はこちらを参照してください。
全文検索システムNamazu説明書はこちらを参照してください。
namazuをインストールします。
# yum -y install namazunamazuに必要な依存モジュールもインストールされます。
Dependencies Resolved ================================================================================ Package Arch Version Repository Size ================================================================================ Installing: namazu i386 2.0.18-6.fc10 public 334 k Installing for dependencies: kakasi i386 2.3.4-26.fc9 public 57 k kakasi-libs i386 2.3.4-26.fc9 public 36 k namazu-libs i386 2.0.18-6.fc10 public 78 k perl-File-MMagic noarch 1.27-5.fc9 public 30 k perl-NKF i386 1:2.0.8b-3.fc10 public 124 k perl-Text-Kakasi i386 2.04-9.fc10 public 32 k Transaction Summary ================================================================================ Install 7 Package(s) Update 0 Package(s) Remove 0 Package(s) : : : Installed: namazu.i386 0:2.0.18-6.fc10 Dependency Installed: kakasi.i386 0:2.3.4-26.fc9 kakasi-libs.i386 0:2.3.4-26.fc9 namazu-libs.i386 0:2.0.18-6.fc10 perl-File-MMagic.noarch 0:1.27-5.fc9 perl-NKF.i386 1:2.0.8b-3.fc10 perl-Text-Kakasi.i386 0:2.04-9.fc10また、インデックス作成時に必要なkakasi-dictをインストールします。
yum -y install kakasi-dict
●namazuのコマンド設定
mknmzコマンドの設定
検索に使用するインデックスを作成するmknmzコマンドを設定します。
# vi /etc/namazu/mknmzrc # $DENY_FILE = ".*\\.(gif|png|jpg|jpeg)|.*\\.tar\\.gz|core|.*\\.bak|.*~|\\..*|\x23.*"; $DENY_FILE = ".*\\.(gif|png|jpg|jpeg|cgi|pl|log|dat|txt|css|vsd)|.*\\.tar\\.gz|core|.*\\.bak|.*~|\\..*|\x23.*"; ← 追加(検索対象外ファイルにcgi、pl、log、dat、txt、css、vsdを追加) # vi /usr/bin/mknmz ← mknmzコマンド編集 ※mknmzコマンドが"Use of uninitialized・・・"というエラーメッセージを出力しないようにする対処 #! /usr/bin/perl -w ↓ #! /usr/bin/perl ← -wを削除
namazuコマンドの設定
インデックスをもとに検索を行うnamazuコマンドを設定します。
# vi /etc/namazu/namazurc ## ## Replace: Replace TARGET with REPLACEMENT in URIs in search ## results. ## ## TARGET is specified by Ruby's perl-like regular expressions. ## You can caputure sub-strings in TARGET by surrounding them ## with `(' and `)'and use them later as backreferences by ## \1, \2, \3,... \9. ## ## To use meta characters literally such as `*', `+', `?', `|', ## `[', `]', `{', `}', `(', `)', escape them with `\'. ## ## e.g., ## ## Replace /home/foo/public_html/ http://www.foobar.jp/~foo/ ## Replace /home/(.*)/public_html/ http://www.foobar.jp/\1/ ## Replace /C\|/foo/ http://www.foobar.jp/ ## ## If you do not want to do the processing on command line use, ## run namazu with -U option. ## ## You can specify more than one Replace rules but the only ## first-matched rule are applied. ## #Replace /home/foo/public_html/ http://www.foo.bar.jp/~foo/ Replace /home/public/public_html/ https://pub2.bigbang.dyndns.org/ ← 追加(/home/public/public_html/をhttps://pub2.bigbang.dyndns.org/に置換する) ## ## 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 Lang ja_JP.eucJP ← 追加(検索結果の日本語化)
●namazuの確認
インデックス作成
例として、/home/public/public_html以下のインデックスを/var/lib/namazu/index/publicに作成してみます。
# mkdir /var/lib/namazu/index/public # mknmz /home/public/public_html -O /var/lib/namazu/index/public | nkf -w ← インデックス作成 ※最後の「 | nkf -w」はシステムの文字コードがUTF-8の場合のみ指定します。 ※-O(大文字のオー)でインデックスの出力先を指定しないと、mknmz実行時のディレクトリに作成されます。 検索対象のファイルを調べています... 319個のファイルがインデックス作成の対象として見つかりました 1/319 - /home/public/public_html/03a.html [text/html] 2/319 - /home/public/public_html/03a2.html [text/html] : : 318/319 - /home/public/public_html/yougosyu-x.htm [text/html] 319/319 - /home/public/public_html/zip-tenkai-assyuku.htm [text/html] インデックスを書き出しています... [基本] 日付: Mon Dec 15 17:16:31 2008 追加された文書の数: 319 サイズ (bytes): 10,135,599 合計の文書数: 319 追加キーワード数: 45,696 合計キーワード数: 45,696 わかち書き: module_kakasi -ieuc -oeuc -w 経過時間 (秒): 47 ファイル/秒: 6.79 システム: linux Perl: 5.010000 Namazu: 2.0.18 ※mknmzコマンド実行時に以下のエラーメッセージが出力される場合の対処 sh: no: command not found # rpm -q nkf ← nkfインストール確認 nkf-2.0.8b-1.fc9 # yum -y install nkf ← nkfインストール※インストールされていない場合 # vi /etc/namazu/mknmzrc ← mknmz設定ファイル編集 # $NKF = "no"; ↓ $NKF = "/usr/bin/nkf"; ← nkfコマンドパスを指定
インデックスをもとに検索
# namazu test /var/lib/namazu/index/public | nkf -w ← testというキーワードで検索してみます ※最後の「 | nkf -w」はシステムの文字コードがUTF-8の場合のみ指定します
検索結果
参考ヒット数: [ test: 24 ]
検索式にマッチする 24 個の文書が見つかりました。
1. SSH(on public)の設定方法(Version1、2対応) (スコア: 56)
著者: 不明
日付: Mon, 15 Dec 2008 15:26:28 +0900
最終更新日 SSH(on public)の設定方法(Version1、2対応) ●ホストキ-の作成 rsa1(protocol1)用のホストキ-を作成する場合 rsa(protocol2)用のホストキ-の作成 dsa(protocol2)用
のホストキ-の作成 ●config(sshd_co
https://pub2.bigbang.dyndns.org/ssh2-public-x.htm (13,628 bytes)
2. bashで始めるシェルスクリプト基礎の基礎 (スコア: 25)
著者: 不明
日付: Thu, 04 Dec 2008 12:16:42 +0900
最終更新日 bashで始めるシェルスクリプト基礎の基礎 第8回 bashで始めるシェルスクリプト基礎の基礎GUIに対するCUIの優位性の1つとして、作業の自動化が挙げられる。普段行う作業を1つのコマン
ドにまとめたり、複
https://pub2.bigbang.dyndns.org/linux-theory08.htm (27,343 bytes)
:
:
:
現在のリスト: 1 - 1
●Webから検索する
Webページ上からNamazuを利用するためのCGIをインストールします。
# yum -y install namazu-cgi ← namazu-cgiインストール # echo "ScriptAlias /cgi-bin/namazu.cgi /usr/lib/namazu/namazu.cgi" > /etc/httpd/conf.d/namazu-cgi.conf ← http://(サーバー名)/cgi-bin/namazu.cgiでnamazu.cgiへアクセスできるようにします。 ※上記の設定は、http(80番ポート)を使用する場合です。 # echo "ScriptAlias /cgi-bin/namazu.cgi /usr/lib/namazu/namazu.cgi" >> /etc/httpd/conf.d/ssl.conf ← http://(サーバー名)/cgi-bin/namazu.cgiでnamazu.cgiへアクセスできるようにします。 ※上記の設定は、https(443番ポート)を使用する場合です。ただし、下記のようなScriptAliasが混在する場合は注意する必要があります。
ScriptAlias /cgi-bin/namazu.cgi /usr/lib/namazu/namazu.cgi
ScriptAlias /cgi-bin/ /home/public/cgi-bin/
上記の順番で記載すれば、問題なくapacheは起動しますが、記載順序を逆にした場合apacheは警告を吐き、起動することが出来ません。
# /etc/rc.d/init.d/httpd reload ← Apacheに設定を反映
●namazu.cgiの設定
# nkf -w /var/lib/namazu/index/public/NMZ.head.ja > NMZ.head.ja ← namazu.cgi検索結果ページヘッダファイルをUTF-8に変換 ※システムの文字コードがUTF-8の場合のみ # vi NMZ.head.ja ← namazu.cgi検索結果ページヘッダファイル編集 <head> <META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=euc-jp"> ← 追加(NamazuWebインタフェースページの文字化け対処) <!-- <input type="hidden" name="idxname" value="foobar"> --> ↓ <input type="hidden" name="idxname" value="public"> ← コメントを解除してインデックス格納ディレクトリ名を指定 <a href="{cgi}">[検索方法]</a> ↓ <a href="{cgi}?idxname=public">[検索方法]</a> ← インデックス格納ディレクトリ名を指定 # nkf -e NMZ.head.ja > /var/lib/namazu/index/public/NMZ.head.ja ← 編集したnamazu.cgi検索結果ページヘッダファイルをeucに戻す ※システムの文字コードがUTF-8の場合のみ # rm -f NMZ.head.ja ← UTF-8に変換したnamazu.cgi検索結果ページヘッダファイルを削除 ※システムの文字コードがUTF-8の場合のみ # nkf -w /var/lib/namazu/index/public/NMZ.foot.ja > NMZ.foot.ja ← namazu.cgi検索結果ページフッタファイルをUTF-8に変換 ※システムの文字コードがUTF-8の場合のみ # vi NMZ.foot.ja ← namazu.cgi検索結果ページフッタファイル編集 この全文検索システムは <strong><a href="http://www.namazu.org/">Namazu</a> <!-- VERSION --> v2.0.15 <!-- VERSION --></strong> ↓ <strong><a href="http://www.namazu.org/">Namazu</a></strong> ← Namazuバージョン情報表示部分削除 以下の全行を削除>(管理人メールリンク非表示化) <address> <!-- ADDRESS --> <a href="mailto:webmaster@extras64">webmaster@extras64</a> <!-- ADDRESS --> </address> # nkf -e NMZ.foot.ja > /var/lib/namazu/index/public/NMZ.foot.ja ← 編集したnamazu.cgi検索結果ページフッタファイルをeucに戻す ※システムの文字コードがUTF-8の場合のみ # rm -f NMZ.foot.ja ← UTF-8に変換したnamazu.cgi検索結果ページフッタファイルを削除 ※システムの文字コードがUTF-8の場合のみ
●namazu.cgiの確認
http://(サーバー名)/cgi-bin/namazu.cgi?idxname=publicにアクセスして「Namazuによる全文検索システム」というページが表示されますので、キーワードを入れて検索してみます。
※idxname=publicのpublicの部分は、インデックス作成先ディレクトリ名(ここでは/var/lib/namazu/index/public/なのでpublic)を指定します。
●namazu用検索ウィンドウの作成
DocumentRootディレクティブに注意して作成します。例:/var/www/html以下に作成
# vi /var/www/html/search.html ← 検索用ウィンドウをsearch.htmlとして作成
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<head lang="ja">
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Namazuによる全文検索システム</title>
</head>
<body bgcolor="#ffffff" LANG="ja">
<h1>Namazu による全文検索システム</h1>
<hr />
<form method="get" action="/cgi-bin/namazu.cgi">
<p>
<strong>検索式:</strong>
<input name="query" size="40" value="" type="text">
<input name="submit" value="Search!" type="submit">
<input name="whence" value="0" type="hidden">
</p>
<p>
<strong>表示件数:</strong>
<select name="max">
<option value="10">10</option>
<option value="20" selected="selected">20</option>
<option value="30">30</option>
<option value="50">50</option>
<option value="100">100</option>
</select>
<strong>表示形式:</strong>
<select name="result">
<option value="normal" selected="selected">標準</option>
<option value="short">簡潔</option>
</select>
<strong>ソート:</strong>
<select name="sort">
<option value="score" selected="selected">スコア</option>
<option value="date:late">日付 (新しい順)</option>
<option value="date:early">日付 (古い順)</option>
<option value="field:subject:ascending">題名 (昇順)</option>
<option value="field:subject:descending">題名 (降順)</option>
<option value="field:from:ascending">著者 (昇順)</option>
<option value="field:from:descending">著者 (降順)</option>
<option value="field:size:ascending">サイズ (昇順)</option>
<option value="field:size:descending">サイズ (降順)</option>
<option value="field:uri:ascending">URI (昇順)</option>
<option value="field:uri:descending">URI (降順)</option>
</select>
</p>
<blockquote>
<strong>検索対象:</strong>
<ul>
<!--
<li><input type="checkbox" name="idxname" value="foo">foo</li>
<li><input type="checkbox" name="idxname" value="bar">bar</li>
<li><input type="checkbox" name="idxname" value="baz">baz</li>
-->
<li><input type="checkbox" name="idxname" value="public">public</li>
<li><input type="checkbox" name="idxname" value="bigbang" checked>bigbang</li>
</ul>
</blockquote>
</form>
<hr />
<meta http-equiv="Content-Type" content="text/html; charset=euc-jp">
<!-- LINK-REV-MADE -->
<link rev="made" href="mailto:webmaster@localhost">
<!-- LINK-REV-MADE -->
<title>Namazu: a Full-Text Search Engine</title>
<style type="text/css"><!--
strong.keyword { color: Red; }
p.example { text-indent: 1em;
color: Navy;
font-weight: bold;
font-family: monospace; }
code { color: Navy;
font-family: monospace; }
code.example { color: Navy;
font-weight: bold;
font-family: monospace; }
code.operator { color: Navy;
font-family: monospace;
font-weight: bold; }
--></style>
</head><body lang="ja">
<h2><a name="query" id="query">検索式</a></h2>
<h3><a name="query-term" id="query-term">単一単語検索</a></h3>
<p>
調べたい単語を一つ指定するだけのもっとも基本的な検索手法です。
例:
</p>
<p class="example">
namazu
</p>
<h3><a name="query-and" id="query-and">AND検索</a></h3>
<p>
ある単語とある単語の両方を含む文書を検索します。検索結果を絞り込むのに有効です。3つ以上の単語を指定することも可能です。
単語と単語の間に <code class="operator">and</code> を挿みます。例:
</p>
<p class="example">Linux and Netscape</p>
<p>
<code class="operator">and</code> は省略できます。単語を空白で区切って羅列するとそれらの語すべてを含む文書をAND検索します。
</p>
<h3><a name="query-or" id="query-or">OR検索</a></h3>
<p>
ある単語とある単語のどちらかを含む文書を検索します。3つ以上の単語を指定することも可能です。単語と単語の間に
<code class="operator">or</code> を挿みます。例:
</p>
<p class="example">
Linux or FreeBSD
</p>
<h3><a name="query-not" id="query-not">NOT検索</a></h3>
<p>
ある単語を含み、ある単語を含まない文書を検索します。3つ以上の単語を指定することも可能です。単語と単語の間に
<code class="operator">not</code> を挿みます。例:
</p>
<p class="example">
Linux not UNIX
</p>
<h3><a name="query-grouping" id="query-grouping">グループ化</a></h3>
<p>
AND検索、OR検索、NOT検索を括弧でグループ化できます。括弧の両隣には空白を入れる必要があります。例:
</p>
<p class="example">
( Linux or FreeBSD ) and Netscape not Windows
</p>
<h3><a name="query-phrase" id="query-phrase">フレイズ検索</a></h3>
<p>
2語以上からなる複合語を検索します。 <code class="operator">"..."</code> と2重引用符で、あるいは <code class="operator">{...}</code> と中括弧で囲みます。Namazuのフレイズ検索は精度が 100 % ではないため、ときどき誤ることがあります。例: </p>
<p class="example">
{GNU Emacs}
</p>
<!-- foo
<p>
Tknamazu および namazu.el から検索するときは必ず後者で指定します。
</p>
-->
<h3><a name="query-substring" id="query-substring">部分一致検索</a></h3>
<p>
部分一致検索には前方一致、中間一致、後方一致の 3種類があります。
</p>
<dl>
<dt>前方一致検索</dt>
<dd><code class="example">inter*</code>
(<code>inter</code> から始まる単語を含む文書を検索)</dd>
<dt>中間一致検索</dt>
<dd><code class="example">*text*</code>
(<code>text</code> を内包する単語を含む文書を検索)</dd>
<dt>後方一致検索</dt>
<dd><code class="example">*net</code>
(<code>net</code> で終わる単語を含む文書を検索)</dd>
</dl>
<h3><a name="query-regex" id="query-regex">正規表現検索</a></h3>
<p>
検索するキーワードを正規表現で指定します。正規表現は
<code class="operator">/.../</code> のようにスラッシュ記号で囲みます。正規表現のエンジンには<a href="http://www.ruby-lang.org/">Ruby</a>のコードを利用
しています。正規表現の書式は<a href="http://www.perl.com/">Perl</a>とほぼ同じです。 例:
</p>
<p class="example">
/インター?フェ[イー]ス/
</p>
<h3><a name="query-field" id="query-field">フィールド指定の検索</a></h3>
<p>
<code>Subject:</code>, <code>From:</code>,
<code>Message-Id:</code> といったフィールドを指定して検索する手法です。特にMail/News のファイルを扱う際に効果を発揮します。例:
</p>
<ul>
<li><code class="example">+subject:Linux</code><br>
(Subject: に <code>Linux</code>が含まれる文書)
</li>
<li><code class="example">+subject:"GNU Emacs"</code><br>
(Subject: に <code>GNU Emacs</code>が含まれる文書)
</li>
<li><code class="example">+from:foo@example.jp</code><br>
(From: に <code>foo@example.jp</code> が含まれる文書)
</li>
<li><code class="example">+message-id:<199801240555.OAA18737@foo.example.jp></code><br>
(Message-Id を指定)
</li>
</ul>
<h3><a name="query-notes" id="query-notes">特記事項</a></h3>
<ul>
<li>いずれの検索方法でもアルファベットの大文字・小文字の区別
はしません。
</li>
<li>日本語の複合語は形態素単位に分割し、それらを<a href="#query-phrase"> フレイズ検索</a>します。分割は不適切に行なわれることがあります。
</li>
<li>JIS X 0208 (いわゆる全角文字) の英数字と記号の一部 (ASCIIと重複しているもの) は ASCII (いわゆる半角文字) として処理されます。
</li>
<li>記号を含む語の検索ができます。例: <code>TCP/IP</code>。ただし、記号の処理は完全ではないので <code>TCP and IP</code> のように分割して<a href="#query-and">AND検索</a>をかけた方が取りこぼしがありません (その代わり余計なファイルまでヒットしてしまう可能性があります)。
</li>
<li>中間一致・後方一致、正規表現、フィールド指定の検索には少し時間がかかります。
</li>
<li><code class="operator">and</code>, <code class="operator">or</code>, <code class="operator">not</code> を単語として検索したいときはそれぞれ、 <code class="operator">"..."</code> と2重引用符で、あるいは <code class="operator">{...}</code> と中括弧で囲みます。
</li>
</ul>
<hr>
<p>
この全文検索システムは
<strong><a href="http://www.namazu.org/">Namazu</a></strong>
によって構築されています。
</p>
</body>
</html>
●インデックス更新自動化
# vi mknmz.sh ← mknmz実行スクリプト作成 #!/bin/bash # # Namazuインデックス作成汎用スクリプト # # 使い方: mknmz.sh $1 $2 [$3] # $1: インデックス作成対象ディレクトリ名[省略不可] # $2: インデックス作成先ディレクトリ名[省略不可] # $3: インデックス作成対象外ディレクトリ/ファイルリスト名[省略可] # PATH=/usr/local/bin:/usr/bin:/bin # インデックス作成対象ディレクトリ名を引数より取得 if [ -d $1 ]; then DOC=$1 else echo "Usage: $0 Directory Index [ExcludeDirectoryList]" exit 1 fi # インデックス作成先ディレクトリ名を引数より取得 if [ -d $2 ]; then IDX=$2 else echo "Usage: $0 Directory Index [ExcludeDirectoryList]" exit 1 fi # ロックファイル残存対処 if [ -f ${IDX}NMZ.lock2 ]; then ps `cat ${IDX}NMZ.lock2` > /dev/null 2>&1 [ $? -ne 0 ] && rm -f ${IDX}NMZ.lock2 fi # インデックス作成対象外ディレクトリ名を引数より取得 if [ $# -eq 3 ] && [ -f $3 ]; then for exclude in `cat $3` do NOTDOC="$NOTDOC$exclude|" done NOTDOC=`echo $NOTDOC|sed 's/|$//g'` fi # システム文字コード退避 SYSTEM_LANG=`echo $LANG` ##### #echo $SYSTEM_LANG > /root/lang #####直接コマンド実行すると問題ないが、cron起動すると「$SYSTEM_LANG」の中が空になってしまう。 ##### # システム文字コードをeucにする export LANG=ja_JP.eucJP ##### #echo $SYSTEM_LANG >> /root/lang #####直接コマンド実行すると問題ないが、cron起動すると「$SYSTEM_LANG」の中が空になってしまう。 ##### # インデックス作成 TEMP_LOG=`mktemp` if [ $# -eq 3 ] && [ -f $3 ]; then mknmz $DOC -O $IDX --exclude="$NOTDOC" > $TEMP_LOG else mknmz $DOC -O $IDX > $TEMP_LOG fi # ログ出力 if [ "$SYSTEM_LANG" = "ja_JP.UTF8" ]; then nkf -w $TEMP_LOG | logger -t mknmz elif [ "$SYSTEM_LANG" = "ja_JP.eucJP" ]; then nkf -e $TEMP_LOG | logger -t mknmz else # cat $TEMP_LOG | logger -t mknmz #####コマンド直接実行だと、この設定で問題ない。 nkf -w $TEMP_LOG | logger -t mknmz ###### cron起動すると「$SYSTEM_LANG」の中が空になってしまうための対処。 fi ##### #echo $SYSTEM_LANG >> /root/lang #####直接コマンド実行すると問題ないが、cron起動すると「$SYSTEM_LANG」の中が空になってしまう。 ##### rm -f $TEMP_LOG # 月曜日はインデックスの最適化(不要データの掃除)も行う [ $(date +%w) = "1" ] && gcnmz -qb $IDX # chmod 700 mknmz.sh ← mknmz実行スクリプトに実行権限付加 # echo "0 0 * * * root /root/mknmz.sh /home/public/public_html /var/lib/namazu/index/public" > /etc/cron.d/mknmz ← mknmz定期自動実行設定追加 ※毎日00:00にmknmz実行スクリプトを実行します ※インデックス作成対象ディレクトリ内で、インデックス作成対象外にしたいディレクトリまたはファイルがある場合 # echo "/home/public/public_html/exclude/" >> mknmz.exclude ← /home/public/public_html/exclude/をインデックス作成対象外リストに追加 # echo "/home/public/public_html/excludefile.*" >> mknmz.exclude ← /home/public/excludefile.*をインデックス作成対象外リストに追加 # ./mknmz.sh /home/public/public_html /var/lib/namazu/index/public mknmz.exclude ← インデックス作成対象外リストを指定してmknmz実行スクリプト実行これで、毎日00:00に自動的にインデックスを更新するようになります。また、mknmzの実行結果は/var/log/messagesに保存されます。
●検索結果ページのデザイン変更
namazuによる検索結果ページは以下のファイル(中身はHTML)を編集することによって、デザインを自由に変更することができます。
変更箇所 | 編集ファイル |
---|---|
ヘッダ部 | NMZ.head.ja |
フッタ部 | NMZ.foot.ja |
検索結果部(標準版) | NMZ.result.normal.ja |
検索結果部(簡潔版) | NMZ.result.short.ja |
検索方法部 | NMZ.body.ja |
検索ヒント部 | NMZ.tips.ja |
●特定ディレクトリのみのサイト内検索
既に作成済であるサイト内の全ファイル(例:/home/public/public_html)を検索できるページのほかに、サイト内の特定ディレクトリ(例: /var/www/html/)内のファイルのみ検索できるようにしたい場合は、新たにインデックスを作成すればよい。
NMZ.*ファイルの仕様はこちらを参照してください。
全文検索システムNamazu説明書はこちらを参照してください。