Namazuによる全文検索システムの設定方法(on fedora)



●namazuのインストール

 namazuをインストールします。
# yum -y install namazu
 namazuに必要な依存モジュールもインストールされます。
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説明書はこちらを参照してください。