Last Modified: 1999-06-14
Namazu は手軽に使えることを第一に目指した日本語全文検索システムで す。CGI として動作させることにより小中規模の WWW 全文検索システム を構築することができるほか、ハードディスク内のファイルを対象とした パーソナルな用途にも使えます。現在のところ Mule, Tcl/Tk, JAVA, Win32 用の検索ツールが用意されています。
UNIX, Win32, OS/2 の上で動作可能です。 Win32については
広瀬@NECエンジニアリングさんによる
全文検索システム Namazu for Win32のホームペイジがあります。
Win32版に関する詳しい情報はこちらを参照してください。
OS/2版に関する詳しい情報は清水さんによる OS/2 port of Namazu the full text retrieval search systemのペイジを参照してください。
それぞれのペイジにはバイナリ・パッケージも用意されています。
Namazu の開発 は多くの方たちの協力によって成り立っています。オープン な環境で開発を行うためのメイリングリスト があります。興味のある方はぜひ参加してください。
Namazu についての FAQ (よくある質問とその答 え) と セキュリティに関する考察をまと めました。
この全文検索システムはインデックス作成の部分を Perl で行い、 検索部分をC 言語によるプログラムで行う仕組みになっています。 検索速度は OS のディスクキャッシュの効果が大きく影響してくるので厳密には測定できませんが、 Pentium 166 MHz, Memory 64 MB の Linux マシンで数十メガバイトのファイルを元に作成されたインデックスを検索した場合、 大体 0.1 秒程度で検索が完了します (日本語の分解をしないとき)。 アルゴリズムの性釈上、検索時間はインデックスのサイズにそれほど影響されません (理論的には log 関数の伸びを示します)。
CGI としてだけでなく namazu.el を使って Mule から検索したり Tcl/Tk で作られた tknamazu という GUI な検索クライアントを用いることができます。 また、 Win32 の環境では Search-S という GUI な検索クライアントを使うことができます。
検索プログラムはメモリをほんのわずかしか要求しませんし、 単体で CGI として機能するので (日本語の分解には KAKASI/ChaSen を呼び出しますが) 、それなりに軽いはずです。
Mail/News を考慮したインデクシングを行うことが可能なため、特にメイリングリストやニューズの記事の全文検索システムを作るのにも適しています。
検索はアンド検索とオア検索およびノット検索をサポートしています。 また、 v1.2.0 からはフレイズ検索および中間一致/後方一致/正規表現による検索も可能になっています。 検索結果の表示はスコアの高い順にソートされ、 AltaVista や ODIN のように要約の表示を行います。要約は HTML のヘディング構造を元に作成されます。また、一ペイジで表示しきれない分についてはペイジ単位 (ディフォルトでは 20 件単位) で表示できるようになっています。
スコアは単語の出現回数だけではなく <TITLE>
<H[1-6]>
<A>
などの HTML タグによる重みを考慮して計算されます。また、<META NAME="keywords" CONTENT="
foo bar">
にも対応しています。
インデックス作成の際に <IMG> タグから ALT 要素を取り出す、実体参照を復号する、検索結果の表示に ISO-2022-JP で HTML 4.0 Strict DTD に従った HTML を出力するなど、 HTML の扱いにはできるだけ配慮しています。また、出力する HTML については石川雅康@慶應 W3C さんの作成された jweblint で検証済みです。
インデックス作成にかかる時間は Pentium 166 MHz + 64 MB の Linux マシンで約 2000 個の合計 25 MB のファイルを処理した場合で約 50 分 (KAKASI を使用)。インデックスの更新は追加のみをサポートしています。
外部のサーヴァのファイルの取得は他のソフトに任せています。 東北大学のくまがいまさあきさんの作成された httpdown や wget などをお使いください。 日本語のわかち書きには京都大学の馬場 肇さんがパッチをあてた kakasi-2.2.5, または奈良先端科学技術大学院大学の ChaSen を利用させていただいております。
さらに詳しい情報を知りたい方はマニュアルを参照してください。
GPL2 (日本語訳)に従ったフリーソフトウェアとして公開します。
こちらは古い (枯れた) ヴァージョン
history.html にまとめました。
プログラムの履歴に関しては ChangeLog を参照してください。