grepやgoogleデスクトップ、namazuでは、満足できなかった為、このツール(バタフライサーチ)を作成しました。
・インストール不要でお手軽(ファイルのコピーのみで動作)。
・2GB以上の巨大なテキストファイルに対応。
・明確なルールにより、理論上検索漏れなし。 (半角英数字と半角アンダーバーの列は単語としてインデックス化。その他の文字(日本語)はN-gram法でインデックス化)
・文字コード Unicode(UTF-16),Unicode(UTF-8),Unicode(UTF-7),Shift-JIS,EUC,JISに対応。(IMultiLanguage2->DetectInputCodepageを使用しているのでBIG5等も含めエクスプローラで表示できる文字は認識する筈です)
・正規表現に部分的に対応。
・近接検索に対応(前後2行の範囲を指定可能)。
・表記ゆれに対応。 例:「disk」と入力して「disc」という候補を見つける事が可能。(Rev4.2より)
・ショートカットファイルに対応(ショートカット集を検索対象に指定可能)
・テキストファイル専用!
■googleデスクトップとの違い
・すべての文字をインデックス化出来る。(googleデスクトップは先頭75000文字まで)
・検索対象とするディレクトリを指定できる。(googleは自動化されすぎていてユーザーのコントロールが出来ない)
・インデックスへ 登録できた / 出来なかったを確認する事が出来る。
・駐在型ではないので、Windowsの動作が遅くならない。
■namazuとの違い
・細かい設定が不要。(600Kバイト以上のファイルを扱うときはnamazurcの$TEXT_SIZE_MAXを修正する必要ある等)
・Perlや、KAKASI等の追加インストールが不要。
・分かち書きに失敗して検索漏れが発生するのでは?という心配が不要。
■grepとの違い
・検索速度が違う。(当たり前ですね。)
【インデックスのサイズ、作成時間について】
―インデックス構築例1―
・マシンスペック
メモリ 48Gバイト
CPU Ryzen 9 3950X
・インデックス対象ファイル
日本語混じりのHTMLファイル 1ファイル(wikipediaをダウンロードしたもの)
対象ファイルサイズ 13Gバイト
・結果
処理時間 1.5時間
インデックスのサイズ 22Gバイト
検知した単語の数 約8331万
―インデックス構築例2―
・マシンスペック
メモリ 8Gバイト
CPU Core i3 3.40GHz
・インデックス対象ファイル
日本語混じりの英文ファイル 約105万ファイル
対象ファイルサイズ合計 50Gバイト
・結果
処理時間 48時間
インデックスのサイズ 11Gバイト
検知した単語の数 約3247万
【リリース情報】
【謝辞】
【ご紹介】
以下、紹介して頂いております。ありがとうございます。
【xdoc2txtについて】
xdoc2txtはhishida氏の作品となります。hishida氏のご好意によりbutterfly_searchに同梱させて
頂いております。ありがとうございます。ホームページ
【一括検索のデフォルト値について】
デフォルトで表示されるリストは下記のHPより
借用させて頂いたものです。ありがとうございます。
・四文字熟語
Mr.凡人様
http://www.h3.dion.ne.jp/~urutora/4ji1.htm(現在はhttps://bonjin-ultra.com/4ji1.htmへ移転)
※デフォルト値はツールの動作の理解を深める為のものであり、
著作権は、Mr.凡人様にあります。実際に検索する際は、ご自身で定義し直しての
ご利用をお願いいたします。
【正規表現ライブラリについて】
boostライブラリ(3.1.4-2)を使用させて頂いています。
http://www.boost.org/
ありがとうございます。
【7-zipについて】
7z.dll,7z.exeを同梱しています。
7-ZipはGNU LGPLのライセンスです
7-Zipのソースコードは、下記のURLより入手できます。
http://www.7-zip.org/ 本家(英語)
https://sevenzip.osdn.jp/ 日本語
ありがとうございます。
http://hp.vector.co.jp/authors/VA031523/ より移転(2024/12/08)