インデックス型のテキスト検索ソフト。複数のテキストファイルから指定した文字列を検索し、一覧表示してくれる。「butterfly search」は、ユーザの指定した文字列をテキストファイル内で検索し、当該文字列を含む行を表示してくれる、高速な全文テキスト検索ソフト。あらかじめ検索対象をインデックス化し、その情報を利用して検索を行う。事前にインデックスを作成する作業は必要だが、検索対象のファイル数やファイル容量が大きくても、ほぼ瞬時に検索が完了するのが特徴。細かい設定などは不要で、簡単に使いはじめることができる。対応する文字コードはUTF-16/8/7、Shift JIS、EUC、JIS。
インデックスファイルは、「butterfly search」のインストールフォルダのサブフォルダ内に作成される。対象ファイルの置かれたフォルダに余計なファイルを作成して、フォルダを「汚す」こともない。CD/DVDなどのリードオンリーのフォルダ内に置かれたテキストでも検索対象にすることができる。
インデックスの作成は、検索対象ファイルが含まれるフォルダを指定して行う。インデックスの作成を実行すると、該当するフォルダおよびそのサブフォルダ内のファイルがすべてスキャンされ、インデックスが構築される仕組み。一度インデックスを構築すれば、以降はそのインデックスを再利用できるが、検索する場所を変更するようなときは、再度インデックスを作成する必要がある。また対象フォルダ内のファイルが更新された場合は、インデックスの「更新」を行う。
インデックスの作成が完了すれば、あとは検索したい文字列を「検索文字列」ボックスに入力すればよい。文字列を入力すると、ほぼ瞬時に当該文字列の含まれたファイルの一覧が表示される。検索結果が多すぎる場合は、対象ディレクトリ(フォルダ)名やファイル名を指定して、表示されるファイルをフィルタリングすることも可能だ。
検索は、一般的なアプリケーションで行える「文字列」検索のほか、「単語」を意識した検索を行うことも可能。検索文字列の前後に区切り文字がある場合に限り、検索結果としてヒットするようにできる。例えば“directory”と“direct”のように、一方の単語により短い単語が含まれるような場合でも、“directory”にはヒットさせず、“direct”だけを見つけることが可能。単語として扱えるのは、文字列が半角英数字で構成された場合のみだが、英文テキストを多数扱う人にとっては便利な機能だ。
検索文字列にはワイルドカード(「?」「*」)を含めることも可能。例えば“dir*”という文字列で検索すれば、dirで始まる文字列すべてを検索できる。
メイン画面は、(検索文字列入力ボックスを除けば)指定した文字列を含むファイル(パス)の一覧、当該ファイル内の文字列を含む行の一覧リスト、ファイル内容のプレビューエリアの3ペイン構成。それぞれシングルクリックでファイル選択や行選択を行えるなど、操作性はよい。
リストで選択したファイルを外部のテキストエディタで開いて、編集することも可能。エディタは初期状態で「メモ帳」が設定されているが、好みでほかのエディタに変更できる。さらに、選択されたファイルの種類に応じて、関連付けられたプログラムを起動することもできるようになっている。
(検索だけを行うのであれば、あまり意識する必要はないが)作成されたインデックスの状態や、インデックス内の単語の状態などを表示・管理する機能もある。