Namazu

namazuコマンドで全文検索をしよう

 いよいよ、全文検索をするときだね。インデックスを作成するよりはずっと簡単だから、気楽にね。

namazuで検索してみよう

namazuの構文

namazu 検索文字列 インデックス

インデックスを省略すると、namazu は /usr/local/var/namazu/index
を対象とする。

作成されたインデックスに対して検索を行うには namazuコマンドだ。namzu
コマンドの使い方だけど、第一引数に検索文字列、第二引数に mknmz
で作った索引の位置を入力する。次のような感じでね。

% namazu tohoho /usr/local/apache/var/index

上記の場合、「tohoho」というキーワードで「/usr/local/apache/var/index」にあるインデックス内を検索する。

namazurcでNamazuの動作設定

namazu コマンドの設定は namazurc で行う。 namazurc の設定例は配布の中の /usr/local/etc/namazu/namazurc-sample
にあるよ。

ウェブで CGI を実行するにはいくつかの条件があるんだ。Apache
の場合、設定として次のようなものが関係する。

ScriptAlias /cgi-bin/ /usr/local/apache/cgi-bin/ URI 中の /cgi-bin/ に対応するディレクトリ
AddHandler cgi-script .cgi .cgi と拡張子ならば cgi として実行する
AllowOverride All .htaccess での設定を許可する (Web管理者)
Options ExecCGI cgi-bin の実行を許す
DirectoryIndex index.html URI がディレクトリを指している時に探すファイル名

(Web管理者) と書かれているもの以外は .htaccess にも設定できるよ(ただし Apache
の設定次第でそれを禁止していなければだけど)。


namazuコマンド全レシピ

Namazu の検索プログラム

使い方: namazu [options] <query> [index]...

省略 オプション 対象
-n --max=NUM 一度に表示する件数を指定
-w --whence=NUM 表示する検索結果の先頭番号を指定
-l --list 検索結果を URI・パス名をリストで出力
-s --short 短い書式で出力
  --result=EXT 結果表示に用いる NMZ.result.EXT を指定
  --late 検索結果を新しい順にソート
  --early 検索結果を古い順にソート
  --sort=METHOD ソート方法を指定 (score, date,
field:name)
  --ascending ソートの方向を昇順にする (標準は降順)
-a --all 検索結果をすべて表示
-c --count ヒット数のみを表示
-h --html HTMLで出力
-r --no-references 参考ヒット数を表示しない
-H --page 先の検索結果へのリンクを表示 (ほぼ無意味)
-F --form <form> ... </form>
の部分を強制的に表示
-R --no-replace URI の置き換えを行わない
-U --no-decode-uri URI encode の復元を行わない
-o --output=FILE 指定したファイルに検索結果を出力
-f --config=FILE 設定ファイルを指定
-C --show-config 設定内容を表示
-q --quiet 検索結果以外のメッセージを表示しない
-d --debug デバッグモード
-v --version ヴァージョンを表示
  --help このヘルプを表示

コマンド行引数の [index dir]... に検索対象のイ
ンデックスを指定します。インデックスの指定を省略すると、基本インデックスが検索対象となりま す。

また、 +foo, +bar のように頭に + 記号をつけると、
基本インデックスからの相対パスでインデックスを指定できます。

コマンド行から実行したときは標準では平文で検索結果を出力します。 HTML で出力する場合には -h
オプションを指定します。

検索結果の 21 件目から 40 件目までを表示させたいときは -n 20 -w 20 と指定します。-w
の値が 21 でないところに注意してくだ さい。


namazurcを設定して検索しよう!

namazurc および .namazurc ではいくつかの設定が行えます。 namazu は

  • $(sysconfdir)/$(PACKAGE)/namazurc
    通常は /usr/local/etc/namazu/namazurc
  • ~/.namazurc
  • -f, --config=FILE オプションで指定した namazurc
    (CGIの場合は namazu.cgi を設置したディレクトリ の .namazurc)

の順で設定ファイルを探して読み込みます。複数、見つかった場合 はすべて読み込みます。

インストール直後の状態では $(sysconfdir)/$(PACKAGE)/namazurc-sample
という サンプルファイルが用意されています。これを $(sysconfdir)/$(PACKAGE)/namazurc
にコピーする、 あるいは自分のホームディレクトリに ~/.namazurc としてコピー して利用します。

namazurc の設定項目の説明は namazurc-sample ファイルにコメント
として書かれています。

関連記事