2005年09月17日

Hyper Estraierでメール検索

以前 Estraierでメール検索 に書いたEstraierの後継、Hyper Estraierというのが出ていた。

Hyper Estraier: a full-text search system for communities

以下、Hyper EstraierでGyazMailのメールを検索するためのメモ。

QDBMが必要なのでインストール。
$ ./configure --enable-zlib
$ make mac
$ make check-mac
$ sudo make install-mac

Hyper Estraierをインストール。
$ ./configure
$ make mac
$ make check-mac
$ sudo make install-mac

ホームディレクトリのパーソナル Web 共有用のディレクトリにHyper Estraier用のディレクトリを作る。
$ mkdir ~/Sites/Estraier
その中にGyazMail用のディレクトリを作る。
$ mkdir ~/Sites/Estraier/GyazMail
$ cd ~/Sites/Estraier/GyazMail

GyazMailのメールボックスをリンク。
$ ln -s ~/Library/Application? Support/GyazMail .

Hyper Estraierのインデックスを作成。
$ estcmd gather -il ja -sd -fm casket ./GyazMail

検索用CGIその他をコピー。
$ cp /usr/local/libexec/estseek.cgi .
$ cp /usr/local/share/hyperestraier/locale/ja/estseek.* .

estseek.conf の以下の行を編集
lprefix: file:///Users/jiro/Library/Application%20Support/
gprefix: http://localhost/%7Ejiro/Estraier/GyazMail/

上で作ったディレクトリでCGIが実行できるようにapacheの設定を追加。
$ vi /etc/httpd/users/estraier.conf
中身は以下。
<Directory /Users/*/Sites/Estraier>
AllowOverride None
Options ExecCGI FollowSymLinks
AddHandler cgi-script .cgi
Order deny,allow
Deny from all
Allow from localhost
</Directory>

apacheを再起動。システム環境設定→共有→パーソナル Web 共有で、停止して開始、でもいいし、
$ sudo apachectl restart
でもいい。

これで
http://localhost/~jiro/Estraier/GyazMail/estseek.cgi
にアクセスするとGyazMailの全文検索ができるようになった。

ただしOS Xのデフォルトのパーミッションだと検索結果のそれぞれのファイルをクリックしても読めないので、ちょっと嫌だが
$ chmod 701 ~/Library
$ chmod 701 ~/Library/Application? Support

あとはインデックスが自動更新されるようにcronを設定
$ vi ~/Sites/Estraier/cron
#!/bin/sh
/usr/local/bin/estcmd gather -cl -il ja -sd -cm -fm /Users/jiro/Sites/Estraier/GyazMail/casket /Users/jiro/Sites/Estraier/GyazMail/GyazMail
/usr/local/bin/estcmd purge -cl /Users/jiro/Sites/Estraier/GyazMail/casket

$chmod 755 ~/Sites/Estraier/cron

/etc/crontab に以下の行を追加。
5 0 * * * /Users/jiro/Sites/Estraier/cron

以上

Posted by jiro at 2005年09月17日 13:43 | トラックバック (0)
コメント
コメントする









名前、アドレスを登録しますか?