Fri, December 7, 2007
HyperEstraier 全文検索の導入ログ
個人的なメモがたまってきたのと、 ウェブに公開しているブログの検索をローカルで 簡単にできる方法を探していて、 HyperEstraier に行き着く。
標準のパッケージでは、検索インタフェースがCGI(Web用) しかなく、apacheなどを動かさないといけないので、 (私の場合)困った...と思ったのだが、 Javaバインディングが入っていて、 ちょっとコードを書けば済む話だった。すばらしい。
HyperEstraier導入
コマンドラインでとりあえず使えればよいということで、 Linuxにソースからインストール。
事前の準備
zlib
1. apt-get install zlib-devel
QDBM
- http://qdbm.sourceforge.net/
普通にインストール(./configure;make;su;make install)
configureのオプションを以下のように指定(zlibの有効か)すると
インデックスサイズが小さく抑えられる、とのこと。
$ ./configure --enable-zlib
libiconv
/usr/bin/iconv がインストールされていたのだが、 HyperEstraierのconfigureでは、libiconvが検出されない。 原因はよくわかっていないが、HyperEstraierページの 指示通り libiconv-GNU Project のサイトにてソースを入手してインストール。
特に変わった指定はしないで 普通にインストール。
$ ./configure --prefix=/usr/local
$ make
$ su
# make install
HyperEstraier本体のインストール
これも 普通にインストール。
$ ./configure
$ make
$ su
# make install
以下のようにコマンドがインストールされているか確認。
$ which estcmd
/usr/local/bin/estcmd
(aptに比べれば)手間はかかったが 簡単にインストール完了。
Javaバインディングインストールメモ
$ cd path-to-hyperestraier/javanative
$ ./configure
$ make
$ su
# make install
$HOME/.bashrc に以下の環境変数(LDLIBRARYPATH)を設定
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/lib
実際にhyperestraierのJavaAPIを使うには
- /usr/local/lib/estraier.jar
にある estraier.jar をclasspathに追加する。