次のページ 前のページ 目次へ

Namazu HOWTO

Yoshio Shimamura <yoshios@green.ocn.ne.jp>

v1.0, 29 July 2000
この文書は、Namazu を使った全文検索エンジン実装についての HOWTO です。 この文書の最新版は http://hp.vector.co.jp/authors/VA004572/index.html から入手可能です。

Index

1 概要

2 インストール

3 mknmz でインデックスを作る

4 検索する

5 CGIとして使う

6 Emacs で Namazu を使う


1 概要

Namazuを使った日本語全文検索システムの簡単な実装法についてのセットアップノート。

2 インストール

3 mknmzでインデックスを作る

3.1 インデックスを作る

Namazuでは、まずインデックスを作成して、作成したインデックスを指定して検索するという使い方になる。インデックスは1つのディレクトリに1つだけ作成できるので、文書のディレクトリ構成と同じようにインデックスのディレクトリを構成すれば良い。
次のような感じで、インデックスディレクトリを作成すれば、検索の時に指定しやすいだろう。

[~/]                  <--- user home
|
+---[docs]            <--- document
|
+---[public_html]     <--- web page
|
+---[NMZ]             <--- Namazu Index Directory
    |
    +---[docs]        <--- document index
    |
    +---[public_html] <--- web page index
インデックスの作成は次の手順で行う。 上記のようなディレクトリ構成をとった場合に、docsディレクトリにある文書の検索を行うためのインデックスを作成するには、次のようになる。
インデックス作成
$ cd ~/NMZ/docs $ mknmz ../../docs

3.2 インデックス作成時のオプション

mknmzコマンドには次のようなオプションが指定できる。
-a 全てのファイルを対象とする
-e ロボットよけファイルを除外する
-O インデックスファイルを作成するディレクトリを指定する。

4 Namazuで検索する

4.1 検索する

検索は、namazuコマンドを用います。前記のようにインデックスを作成したばあい、次のように検索する。
検索
$ cd ~
$ mknmz "検索式" ./NMZ/docs

4.2 高度な検索

検索には次のような条件を指定できる。

4.3 Namazuの設定ファイル読み込みルール

Namazuが検索時に参照する設定ファイルは、次の順に検索される。
  1. namazuが置かれているのと同じディレクトリにある.namazurc
  2. 実行ユーザのホームディレクトリにある.namazurc
  3. MakefileでLIBDIRに指定したディレクトリにあるnamazu.conf
    (通常/usr/local/namazu/lib/namazu.conf-dist)
つまり、通常は次のルールで作成しておけば良いことになる。

4.4 namazu.confの設定項目

INDEXDIR

namazuがデフォルトで利用するインデックスを置くディレクトリを指定

REPLACE

URLの先頭部分を第1引数から第2引数に置換する。

BASE

検索結果の表示の際に、HTMLの<head></head>の中に <base HREF="http://host.domain/">という要素を埋め込む 検索結果表示画面をカスタマイズする場合に便利

WAKATI

分かち書きのコマンドをフルパスで指定する。デフォルトで は、/usr/local/bin/kakasiとなっている。

LOGGING

検索された検索語の記録をとるかどうかを指定する。ON(デフォルト)かOFFを指 定。 検索記録は、インデックスファイル群中のNMZ.slogというファイルに記録される。

LANG

出力ファイルの言語を指定する。ja(デフォルト)またはenを指定する。

SCORING

スコアリングのアルゴリズムを、TFIDF(高度な計算方法;デフォルト)また は、SIMPLE(単純頻度)のどちらかを指定する。

5 CGIとして使う

5.1 サイトの設計

5.2 プログラムと設定ファイルをコピー

5.3 インデックスファイルの作成

5.4 検索ページの作成

6 Emacs で Namazu を使う

Emacs/Xemacs 上で Namazu を使うには、namazu.el(Emacs Lisp)を利用すればよい。

get namazu.el

#インストール(${HOME}/srcにnamazu.el-19980728.01を置いてある場合)
$ cd ~
$ mkdir lib/emacs
$ cp src/namazu.el-19980728.01 lib/emacs/namazu.el

#.emacsに追加
--- start
(setq load-path (cons (expand-file-name "${HOME}/elisp") load-path))
(autoload 'namazu "namazu" nil t)
(setq browse-url-browser-function 'browse-url-netscape)
--- end

#検索
M-x namazu
Enter Keyword: 検索語(式)

検索結果が表示されたら、URL上でリターンキーを押すと文書が表示される。


次のページ 前のページ 目次へ