y-matsui::weblog

電子楽器、音楽、コンピュータ、プログラミング、雑感。面倒くさいオヤジの独り言

CentOS5.1+HyperEstraier

超迷子: 共同体的全文検索系 全文検索エンジンHyper Estraierを仮想CentOS5.1(5.2)サーバに導入した際のメモ。
HyperEstraierのインストールは、ここを見ながら、意外とすんなり。
あ、libiconv-1.12とQDBM-1.8.77を事前に導入しておく必要がある。
/var/www配下にインデックス”wwwidx”を作り、/vaw/www/cgi-binにestseekフォルダを置き、conf,cgi,ttmpl、helpの日本語版をコピー。
etc/cron.dに
05 * * * * root /usr/local/bin/estcmd gather -cl -il ja -sd -cm /var/www/wwwidx /var/www/html
22 4 * * 0 root /usr/local/bin/estcmd purge -cl /var/www/wwwidx
42 4 1 * * root /usr/local/bin/estcmd optimize /var/www/wwwidx

という感じで、毎時のインデックス更新、週1で削除文書の反映、月1回の最適化を指定。
とりあえず、以上でhtmlやテキストファイルの全文検索が可能になった。最初は検索結果に表示される件数が少なくて冷や汗をかいたが、徐々に増えていっている様子でひとまず安心。
次は、Office文書、PDFなどを全文検索するための文書フィルタの導入。

■フィルタ導入手順
Office系ドキュメントとPDFを全文検索の対象にしたいので、ドキュメントフィルタを追加導入。

・MSOffice(ワード、エクセル、パワーポイント)→HTML
wvWare1.2.4とxlhtml-0.5をソースからインストール。
開発ツールの追加導入が必要。

yum install gcc-c++
libstdc++-devel-4
gcc-c++-4.1.2-42.e

yum install glib
glib-1.2.10-20.el5

libgsf-devel

・PDF→HTML
xpdfのバイナリをダウンロードし、/usr/local/binにコピー
日本語サポートファイル”xpdf-japanese.tar.gz”をダウンロード。READMEに従って、ファイルをすべて/usr/local/share/xpdf/japaneseにコピーし、設定ファイル”add-to-xpdfrc”を/usr/local/etc/xpdfrcとして配置。

・XDW→HTML
富士ゼロックスのサイトからDocuworksTextFilter6.0のバイナリをダウンロードし、intel_linuxフォルダ内のxdw2textを/usr/local/binにコピー

シェルスクリプト
・Office文書、PDF,XDWをそれぞれ/var/www/wwwidxにマージするためのシェルスクリプトを用意。

cd /var/www/html
PATH=$PATH:/usr/local/share/hyperestraier/filter ; export PATH
estcmd gather -cl -fx ".doc,.xls,.ppt" "H@estfxmsotohtml" -fz -ic UTF-8 -sd -cm /var/www/wwwidx .

cd /var/www/html
PATH=$PATH:/usr/local/share/hyperestraier/filter ; export PATH
estcmd gather -cl -fx ".pdf" "H@estfxpdftohtml" -fz -ic UTF-8 -sd -cm /var/www/wwwidx .

cd /var/www/html
PATH=$PATH:/usr/local/share/hyperestraier/filter ; export PATH
estcmd gather -cl -fx ".xdw" "T@estfxxdwtotxt" -fz -ic CP932 -sd -cm /var/www/wwwidx .

・/etc/cron.d/estseekに記述を追加。