Google Desktop Searchがサポートを終了してから1年近くが過ぎようとしています。OSが標準的に検索機能を提供するようになったためとしていますが、実際のところWindows標準の検索機能はGoogle Desktop Searchには遠く及ばず、ここしばらく随分と不便していたのです。
Windows標準の検索機能しか使った事が無い人には「え?どの辺が?」と言う話かもしれません。Microsoftが提供する検索機能にはいくつかの欠点があるのです。
Microsoftの検索機能は事前にインデックスを作成することで、ファイルの内容まで高速に検索してくれます。ですが、標準の設定ではインデックスが作成されているローカルドライブに限られます。ネットワークドライブの検索にもインデックスを使う事が出来ますが、それはサーバーがWindows Serverの場合に限られます。よく売られているNASはLinuxサーバーであるためインデックスを使った検索が出来ないのです。
もう一つは、確かに含まれているはずの単語なのに検索にかからない事があるという問題です。欧文はスペースを置くため単語の境界を明確に判断できるのですが、日本語は単語の境界を明確にしないためN-GRAMや形態素解析といった特別な技術が必要になります。そのあたりのチューニングの問題であろうと推測しているのですが、Microsoftは単語の切り出しをどのようにしているのか公表していないので、実際のところは分かりません。
私はNAS上に格納した数テラバイトのデータを検索する必要が度々あるため、NAS上にインデックスを作成できないのでは使い物にならないし、検索にかからないのでは非常に困るのです。
そこでいくつかの日本語に対応したデスクトップ検索ソフトウェアを試してきました。Linux上で動作するソフトは多々あるのですが、Windows上で動作するソフトは限られており、ようやく納得できるソフトにめぐり合えたので紹介します。
Fessの概要
FessはOpen Sourceのソフトらしく、Open Sourceで作られたJavaベースの各種検索ソフトを組み合わせることで作られています。インストールもダウンロードしたファイルを解凍するだけとお手軽で使いやすいソフトです。
Fessのインストール
Fessのダウンロード
Fessのホームページ(http://fess.sourceforge.jp/ja/downloads.html)からZIPファイルをダウンロードします。FessにはMySQL版(fess-server-mysql-x.x.x.zip)と通常版(fess-server-x.x.x.zip)があります。通常版をダウンロードしましょう。
Fessを解凍する
ダウンロードしてきたFessを適当なフォルダに解凍します。インデックスの作成対象のサイズにもよりますが、数十GBの容量が必要なので十分な空き容量があるドライブを選んでください。ここではC:\FESSにインストールすることにします。
JDKのダウンロードとインストール
Fessを動作させるためにはJavaSE(JDK)が必要です。Java(http://www.oracle.com/technetwork/java/javase/downloads/index.html)のホームページからダウンロードしましょう。ダウンロードが終わったら、ダウンロードしたインストーラを実行します。ウィザードに従ってインストールしてください。
環境変数を設定する
コントロールパネルの「システム」から「システムの詳細設定」を選択し、環境変数を二つ新規に追加します。一つはJDKのホームディレクトリで「JAVA_HOME=C:\Program Files\Javajdk1.7.0_09」のようにします。
もう一つはFESSのホームディレクトリで、FESSの解凍先を「CATALINA_HOME=C:\FESSfess-server-7.0.1」のようにします。
Fessを起動の起動と初期設定
C:\FESSfess-server-7.0.1\Startup.batを起動します。コンソール画面が開いてFessが動作し始めます。
初期設定を行うには、WEBブラウザでhttp://localhost:8080/fess/loginを開きます。インストール直後はユーザー名:admin、パスワード:adminでログインできます。
設定ウィザードが表示されるので設定を開始します。最初にスケジュールの設定を行います。インデックスの生成をおこなう時刻を指定してください。
次に検索対象とするフォルダを指定します。クロール設定名は適当に任意の名前を決めてください。クロールパスに検索対象のフォルダを指定します。最大アクセス数は初期設定で10000になっていますが、デスクトップの検索に使用する場合は削除して空欄にすることをお勧めします。最大アクセス数を指定していると、そのファイル数を超えた場合にインデックスが作成されません。
最後に「クロールの開始」をクリックすると、インデックスの作成が始まります。
Fessによる検索
検索を行うにはWEBブラウザでhttp://localhost:8080/fessを開きます。適当な検索語を入れて検索してみてください。
Fessの欠点
一つ欠点を上げるとしたら、メモリ消費量が非常に多いことでしょうか。普段でも500MB、クロール中は1GB程度のメモリを使っています。メモリの少ないパソコンの場合、常時立ち上げたままと言うのは難しいでしょう。普段は終了しておいて、検索が必要な時だけ起動。パソコンをあまり使わない時間帯を狙って定期的に立ち上げてクロールを行うといった工夫が必要と思います。