ホーム > HTMLに役立つヒント>
Snatcher導入記 for Mac OS X
これは平林幹雄さんの開発した全文検索システム、Snatcher導入記です。このページの作成にあたっては、掲示板で平林さんに積極的にご協力いただきました。平林幹雄さんに感謝いたします。
(※2003/12に後継バージョンEstraierがリリースされています。これに伴い、snatcherはサポートされなくなる予定です。)
本家ページでUNIXシステムにインストールする方法は詳述されていますので、ここでは、Macintosh OS Xにインストールする手順をご紹介します。実は掲示板のやりとりをまとめただけなんですけどね(^^; 実質、僕は何もしていません。問題解決はすべて平林さんがやってくださいました<(_ _)>
なお、頻繁にバージョンアップしているため(本当に頻繁なんですよ、これが)、このページの情報はすでに古くなっているかも知れません。
このページで対象にしているのはsnatcher 3.7.6です。OS Xはver.10.2.1です。
このページに関する話題は「マニュアルに書いてない掲示板」へお願いします。
[このページの改定日: 05/06/23 17:58] あなたはここへ来た、 13816番目の人です。(2002/10/5から)
いろいろ特徴のある全文検索ソフトです。検索用CGIがSH(なんとシェルを使って検索する!)、C言語、perlと3種類も同梱されいる、というのがまず目を引きます。
PDF(xpdfとxpdf-japaneseのインストールが必要)やMS-word(wvWareとlvのインストールが必要)文書の検索も可能。wgetをインストールすれば外部サイトのインデックスも可能となっていて、なかなか魅力的です。
僕のようなプロバイダユーザーには残念なんですが、インデックス時にchasenを使う関係から、およそ30MBほどの容量を喰われてしまうそうです。
僕の場合、プロバイダから与えられている要領は100MBありますが、現時点で73.3MBの容量がふさがっており、事実上プロバイダ領域にインストールするのは無理があります。
そんな事情から、今回は手元のマシンにインストールすることにしました。
Macintosh PowerBook G3 1999/5発売モデル 333MHz Lombird/Bronze keyboard Mac OS X 10.2.1
snatcherは、標準的なUNIXマシンであればGDBM、ZLIB、chasen、snatcher本体をインストールすれば動きます。
あ、最初にOS X付属のデベロッパーツールをインストールしておいてください。これをインストールしておかないとコンパイルができませんので。
必要なファイルは次のようになります。すでにインストールしてあるものは省くことができます。
1. GDBM
2. ZLIB
3. chasen
4. snatcher
次項以降、ひとつずつインストールしていきましょう。
GDBMはGNUのデータベースマネージャーです。
1. 次のファイルをダウンロードしてきます。OS X用のGDBMです。
http://www.caos.aamu.edu/pub/MacOS_X/BSD/Libraries/Database/gdbm/gdbm-1.8.0-2-osx.tar.gz
2. ダウンロードしたgdbm-1.8.0-2-osx.tar.gzをStuffIt Expanderで解凍します。
3. Terminalからインストール作業を行います。すでにmakeした状態になっていますので、いきなりインストールできます。
cd gdbm-1.8.0-2-osx ←ディレクトリに降りて、
sudo make install ←インストールする
これだけであっさりとインストールできます。
1. 次のファイルをダウンロードしてきます。
http://www.arc.ritsumei.ac.jp/kachina/mikio/pubdir/zlib-1.1.4.tar.gz
2. StuffIt Expanderで解凍します。
3. Terminalからインストール作業を行います。
cd zlib-1.1.4 ←ディレクトリに降りる
./configure ←コンフィグレーションする
make ←コンパイルする
sudo make install ←インストールする
make clean ←ゴミを削除する。またはmake distclean
こちらも特にエラーはでず、あっさりインストールできます。
chasenはインデックス時に日本語解析を行うためのものです。「マニュアルに書いてないNAMAZU/Darwin(OS X)にインストールする」で解説していますのでそちらを参照してください。
上記のページではTEXT::chasenのインストールの解説も一緒になっていますが、snatcherではTEXT::chasenのインストールは必要ありません。
いよいよ本体のインストールです。
1. 本家Snatcherページから最新版をダウンロードしてきます。
2. StuffIt Expanderで解凍します。
3. Terminalからインストール作業を行います。
cd snatcher-3.7.6 ←ディレクトリに降りる
./configure ←コンフィグレーションする。
make ←コンパイルする
sudo make install ←インストールする。
snatcher 3.7.6以降は、nkfとGNU findがなくても動くようになったそうです。僕はすでにこの2つをインストールした環境に3.7.6を上書きインストールしたため、この2つがなくてもインストールできるのか確認できていません。
もし、これらのファイルがないというようなエラーがでた場合は、インストールしてください。
nkfは漢字コードの変換などを行うユーティリティで、日本で動いているほとんどのUNIXシステムには標準でインストールされているだろうというくらい一般的なツールです。OS XはアチラのOSなのでインストールされていません。
「マニュアルに書いてないNAMAZU/Darwin(OS X)にインストールする」で解説していますのでそちらを参照してインストールしてください。
GNU findがないといわれたら次の手順でインストールしてください。
snatcherでは特定の拡張子のついたファイルを抜き出すのに利用しているそうです。
1. 次のファイルをダウンロードしてきます。
2. StuffIt Expanderで解凍します。
3. Terminalからインストール作業を行います。
cd findutils-4.1 ←ディレクトリに降りる
./configure ←コンフィグレーションする
make ←コンパイルする
sudo make install ←システム領域にインストールする
make clean ←ゴミを削除する。またはmake distclean
こちらもトラブルはありませんでした。あっさりインストールできます。
Terminalで作業します。基本的には、インデックスしたいディレクトリに移動して、そこでmkwftsコマンドを実行すると、そのときいるディレクトリ(カレントディレクトリといいます)にインデックスが作成されます。インデックスの対象はそのときいるディレクトリ以下のファイルが対象になります。
簡単な例を示します。
cd ←ホームディレクトリに移動します。
cd sites ←サイトディレクトリにおります。インデックスを作りたいディレクトリに降りる、ということです。
mkwfts ←インデックスを作成する。casket.0001というファイルが作られる。
これでインデックスを作成できます。この時、search.cgi、search.tmpl、search.help、snatcherlogo.gifが同じディレクトリに作られます。
snatcherの解説にあるように検索用のhtmlファイルをこのディレクトリにおいて、ブラウザでアクセスしてみてください。ちゃんと動作するはずです。
作者の平林さんからテストを依頼され、簡単なインデックス作成スピード、検索スピードのテストを行いました(以下にあるように、このテストで使ったsnatcherのバージョンは3.7.5ですのでご注意)。いずれもローカルマシン上の結果です。
例によって、「コンパクトカメラデータ」ページをインデックスの対象としました。
●インデックス作成スピード
snatcher NAMAZU msearch バージョン 3.7.5 2.0.12 1.45 インデックススピード 20分47秒 4分45秒 1分10秒 対象ファイル数 809 ※1 782 782 インデックスの大きさ 3.2MB 1.7MB 1.2MB ※1 NAMAZUやmsearchがデータファイル「.html」だけ拾っているのに対し、snatcherはメーカーごとのインデックスページ「.htm」も拾っているためファイル数に違いがでている。
僕のマシンはメモリが256MBしかなく、OS Xを動かす環境としては厳しいものがあります。プロバイダのサーバ上でmsearchを使い、同じディレクトリをインデックスさせると、20秒程度ですんでしまいます。つまり、僕のマシンはプロバイダのサーバの3.5分1程度の能力しかありません。上の表の秒数を3.5で割ると、だいたい標準的なサーバ上のスピードになるのではないかと思います(3.5で割るとおおむねsnatcher5分56秒、NAMAZU1分21秒、msearch20秒)。
また、snatcherのインデックス作成には、メモリスワップに時間をとられているように見えます(事実かどうか不明。インデックスの様子を観察していてなんとなくそう思った)。なので、大きなメモリと性能のいいハードディスクがあればもっと高速になると思われます。
リナックスなどのような軽快な環境では、もっと高速に動作してインデックスが可能なようです。
●検索スピード
簡単な検索スピードのテストです。NAMAZUは検索スピードを表示できないのでスピードは不明となっています。
検索語 snatcher NAMAZU msearch 性能表 783件/0.47秒 782件/不明 782件/0.17秒 28mm/ 784件/0.80秒 0件/不明 94件/0.17秒
ホーム >HTMLに役立つヒント>
Snatcher導入記 for Mac OS X