全文検索システム(Hyper Estraier)の導入 Part.1

2013年6月10日

全文検索システム(Hyper Estraier)をWindows2008R2 64bit + IISに導入してみる。

全文検索といえばNamazuが有名ですが、Hyper Estraierは導入が簡単でインデックス作成も高速なので、こちらを採用することにしています。
Hyper Estraierの動作環境はUnix(Linux)系ですが、Windows版も公開されてます。

以前、Windows2003にてファイルサーバを運用していて、膨大な数のファイルを見つけやすくするためにHyper Estraierを導入していたが、Windows2008R2 64bitにファイルサーバをリプレースしたので、こちらにもHyper Estraierを導入してみる。
Windows2003の時の導入資料が手元に見つからなかったので、手探りで情報を探しつつ、構築していきます。

 

▼Hyper Estraierのインストール
今回はWindowsにHyper Estraierを導入するので、Windows版をダウンロードします。
この記事を書いている時の最新版はhyperestraier-1.4.10-win32.zipで、2007年からアップデートされてないです。。。

ダウンロードファイルはZip形式で圧縮されてますので、適当な場所に展開します。
今回はC:\hyperestraierとしました。
コマンド実行時にPATHを長く書くのが面倒な方は環境変数にてPATHを通してください。

 

▼xdoc2txtのインストール
検索対象がファイルサーバ内の文書なので、Word・Excel・PDFなども検索できるようにします。
HyperEstraierは、xdoc2txtをフィルターとして使用していますが、先ほどダウンロードしたHyperEstraierに同梱されているxdoc2txtは古く、2007の形式(.docx、.xlsxなど)には対応してないらしいです。
ということで、新しいxdoc2txtをダウンロードします。

ダウンロードした圧縮ファイルを展開して、xdoc2txt.exe、zlib.dllをhyperestraierフォルダに上書きで入れます。

これで一通りのインストールは完了です。
これから検索に必要なインデックスを作成します。

 

▼インデックスの作成
コマンドプロンプトを開き、インデックスを作成するフォルダに移動します。
ここでインデックスの作成コマンドを入力しますが、コマンドの詳しい説明はマニュアルを見てください。
インデックスの作成場所が、D:/search_indexでデフォルトのcasketというインデックスを作成したい場合は下記となります。

d:[Enter]
cd search_index[Enter]
estcmd gather -il ja -cl -fx .pdf,.rtf,.doc,.docx,.xls,.xlsx,.ppt,.pptx T@estxfilt -ic CP932 -pc CP932 -sd -cm -lf -1 -lt -1 casket "(検索対象フォルダ)"

検索対象フォルダは、検索対象がD:/fileserver_data以下だとすると、"D:/fileserver_data"としてください。

インデックスを作成している間、コマンドプロンプト内ではインデックスが作成されている表示がズラーと出ますが、表示をさせたくない場合は、ログファイルに吐き出すことも可能です。

estcmd gather -il ja -cl -fx .pdf,.rtf,.doc,.docx,.xls,.xlsx,.ppt,.pptx T@estxfilt -ic CP932 -pc CP932 -sd -cm -lf -1 -lt -1 casket "(検索対象フォルダ)" > casket_index.log

ログファイルの中身を見る場合は、秀丸やサクラエディタなどUTF-8で表示できるテキストエディタを利用してください。

 

▼検索してみる
インデックスの作成が完了したら、実際に検索してみます。
コマンドプロンプトでインデックス作成フォルダに移動して以下のコマンドを実行。

estcmd search -ic CP932 -vh -max 8 casket "検索語" > casket_search.log

これまたログファイルの中身を見る場合は、秀丸やサクラエディタなどUTF-8で表示できるテキストエディタを利用してください。
検索結果が意図した内容で出力されていればOKです。

ここで一段落です。
しかし、このままではコマンドプロンプトでしか検索出来ないので、次にブラウザから検索できるようにしますが、IISの設定が残ってますので、次回はそちらを先に設定します。

 

追記:Hyper Estraierより簡単設置可能な全文検索エンジン『Fess』もあります。