(UnixMagazineに 記事を書きましたので こちらも参照下さい - 2003/4/29)
情報学研究所の高野氏/ 日立の西岡氏らによる GETA というライブラリを使うことにより ファイルの全文検索を行なうことができる。/usr/local/geta
にインストールされる
sbin/mkw
を使って、単語出現マトリックス
WAM
(Word-Article Matrix)を作成することにより
tf/idf法などによる検索を高速に実行することができる。
mkw
は単語の出現頻度ファイルを入力とする。
出現頻度ファイルは chasen や MeCab などで作成する。
@ファイルパス 2 単語1 4 単語2 ...
~/Mail/inbox/123
のようなファイルそれぞれに対して
~/IR/freqfiles/Mail/inbox/123
のようなファイル名の単語出現頻度ファイルを作る。
makefreqfiles
というスクリプトで実行する。
find
コマンドで単語出現頻度ファイルのリストを作成し、
それを引数として
mkw
を起動することにより WAM を作成する。
setenv GETAROOT ~/IR
と指定することにより、
$GETAROOT/etc/ci.conf
を使用する。
etc/ci.conf
には以下のように記述しておく。
handle: all.ir short-name: ir dataroot: /Users/masui/IR/data/この指定により、WAMが
dataroot
の下に作成されるようになる。
相対パスは使えないように思われる。
Makefile
参照。
bin/makefreqfiles `pwd` find `pwd`/freqfiles -type f -print > freqfilelist GETAROOT=`pwd`; export GETAROOT; $(MKW) ir @freqfilelist
search.c
を使用する。
% echo Unix | search # Unixというキーワードで検索
% show | nkf -e | search # メールの内容に近いファイルを検索