butterfly_search(全文検索フリーソフト)

 

grepgoogleデスクトップ、namazuでは、満足できなかった為、このツール(バタフライサーチ)を作成しました。 

                

 

【概要】

Windowsで動作する個人向けインデックス型全文検索ツールです。日本語全文検索も可能です。

動作イメージは次の様な感じです。


 

【ダウンロード】

日時 バージョン 概要 MD5
2023.08.04

V4.1

・全体的な高速化 ・ファイル名検索処理のマルチスレッド化 ・行をクリックしたタイミングでクラッシュする問題対応 ・7zipをVer 22.01→23.01へ差し替え butterfly_search_4.1.zip
7711fae9b863781f6ceb580b81c2eeb3
butterfly_search.exe
a7e82f1bdf4b80e6bf3a6bd453304b09
2023.04.16

V4.0

・処理の高速化(64ビット化に対応したので64bit版のWindowsを使用していない場合は動きません) ・日時情報表示画面(ヒートマップ)を追加 ・非常に多くのバグ修正 butterfly_search_4.0.zip
1db00ca5c8ae54a0bf0404f7a1ab1a3f
butterfly_search.exe
5abcfeae4a5ca83673579a16d3a35755
2022.06.18

V3.0b

・検索履歴が正しく残らない不具合修正。 ・データベース更新時の進捗表示メッセージを強化。   ・検索速度向上の為、インデックス化する条件を追加。   butterfly_search_3.0b.zip
fcbd0dee7e9200d58ea6fe7ee1226837
butterfly_search.exe
cceba5c29471f9bf8cbc017daad67740
2022.01.28

V3.0a

・正規表現を使用してファイル名を検索する際に検索漏れが発生するバグの修正。 ・Windowsの設定で左利きマウスの設定にしたとき、窓の大きさを変更できない問題対応。   ・キャンセルの切れ味が悪い問題を改善。 butterfly_search_3.0a.zip
5bb014a2144996dd7434b350a180a08f
butterfly_search.exe
02e92c61316672f7a317fdd4cacb3856
2021.10.29

V3.0

・文章中の3つの連続した数値を抽出する処理を追加。 ・文字コード判別処理の改善。   ・インデックス生成時にクラッシュする問題を緩和。 butterfly_search_3.0.zip
b3ab568289f41fcbe2f8fc88203f7a0f
butterfly_search.exe
0a65edf9394409ff75d9d386653ff23a
2021.08.08

V2.8e

・F3キーで次の文字を検索できるように修正。 ・インデックス生成時にクラッシュする問題を修正。   ・ファイル名の検索処理を高速化。 butterfly_search_2.8e.zip
915b9a858fc154c5755add3d44638a60
butterfly_search.exe
0dc79d33e8de6d909b8e91a7eef2a588
2021.06.26

V2.8d

・xdoc2txtのオプションを変更。 ・インデックスの除外条件としてファイル名の指定が出来るように機能追加した。   ・インデックス生成時の並列処理を強化した。   ・メモボタンを削除、検索キーの履歴を200件に拡張した。 butterfly_search_2.8d.zip
4ca6907f7f9663f413c47e7f162c206c
butterfly_search.exe
b7614e721d886b43b69cd09912c6a35c
2020.12.27

V2.8c

・大きいサイズの圧縮ファイルも処理できるように修正。 ・圧縮ファイルの処理がエラーになる不具合の修正。   ・インデックス生成時の進捗メッセージを修正。   ・放送コード.xlsの梱包を中止。 butterfly_search_2.8c.zip
68695005fc2ff76d0dc48eb90282219f
butterfly_search.exe
a3c583e7ed69a32a42b948ada0cd55f8
2020.09.11

V2.8b

・exe2txtを呼ぶ際のファイルサイズの上限を緩和(25M→50M) ・検索をキャンセルした際、次の検索に失敗する事がある不具合の修正。 ・検索キーの種類が0x1FFFFFFF個を超えるとエラーになる問題対応。 ・ファイル名が暗号化されてるファイルがあるとインデックスの作成に敗する問題対応 butterfly_search_2.8b.zip
7bc591a32efa8b3591b86fa57238c8ed
butterfly_search.exe
43ffef548bf32e3cb23e607a01c35626
2020.07.05

V2.8a

・メモリ確保失敗を回避する為、xdoc2txtを呼び出せるファイルサイズ上限を下げた butterfly_search_2.8a.zip
69887dc071b8ebefc0d38f9707de8af9
butterfly_search.exe
50c8bc7bfe156f13be8ef4ca96704d57
2020.02.29

V2.7k

・圧縮ファイル内のファイル名を抽出対象に追加・フィルターが正しく動作しない事があるバグを修正 butterfly_search_2.7k.zip
a1c254f6d5c71b46cbf3124ed694bd0b
butterfly_search.exe
610a3e46b7ded43414750973ad7af825
2019.08.03

V2.7j

・インデックス生成時のエラー緩和の為、除外フォルダ指定時の処理を変更。 butterfly_search_2.7i.zip
7A5C2D931C2AB6FE2B0679D68ED3D3ED
butterfly_search.exe
713CCD5C09A8F504D2917DC961BF2CF1
2019.07.06

V2.7i

・xdoc2txtをRev2.19に差し替え・CTRL+Aを検索キー入力ボックスでも動作する様に修正 butterfly_search_2.7i.zip
2AA25C84AB217DEFB72BCA366F8811E3
butterfly_search.exe
868AC3034171D3AD383BEF64D2FFE01B
2018.05.02

V2.7h

・行選択画面のカラムの幅を再起動後に復元する様に修正 butterfly_search_2.7h.zip
D884C2871EF46D60ED1221ED0782B3E7
butterfly_search.exe
64D303460E4CF23CDD6FE5585B8F1CD3
2018.02.25

V2.7g

・インデックス作成時のスレッド数を3⇒1へ減らす事によりメモリ不足の発生を多少回避 butterfly_search_2.7g.zip
16B2022CFC03186322F05E19100A3AB1
butterfly_search.exe
664B34908ACE0B6CDDC5B9E8DA8B3185
2017.11.04

V2.7f

・Ctrl+s押下で検索カラムにフォーカスを移動させる処理を追加 butterfly_search_2.7f.zip
243A06D4F2EEE22008ED0026C8291664
butterfly_search.exe
29155080EAC0E203A983972C74A9C713
2017.9.30

V2.7e

・拡張子振り分け画面におけるアイコン画像をOFFにする設定画面を追加(プチフリーズ対策) butterfly_search_2.7e.zip
5ff7149fb33e6e5cafaf9bf7fea2c98a
butterfly_search.exe
dd2bdd824e92f6c2301772fa837f6e71
2017.08.13

V2.7d

・起動オプション(-renew)を追加。コマンドラインからインデックス更新できるように対応。 butterfly_search_2.7d.zip
4A8D33F5B7C55060644B13F85DFCB39F
butterfly_search.exe
4700AE805E2F42401DEB1466183AF483
2017.05.13

V2.7c

・特定の環境でフラッシュしてしまう不具合対応
2017.04.14

V2.7b

・アイコンの絵を変更・パス名や拡張子毎の区別を行う事のできる子画面を追加・細かい多数の修正
2017.01.20

V2.7a

・S-JISファイル時の文字コード判定処理の見直し
2017.01.03

V2.6k

・インデックス作成処理を高速化・文字コード判定処理の見直し
2016.08.13

V2.6j

・過去に廃止したインデックスの差分更新機能を復活。
2016.06.12

V2.6i

・分布表示におけるハイライトがうまくできない場合がある問題対応・バイナリファイル(exe,dll)の検索に失敗するデグレバグ対応。・起動時に右端を折り返すスイッチが利かないバグ対応。
2016.05.15

V2.6h

「正規表現」失敗した時に「正規表現不正」と表示される様に修正。
2016.05.13

V2.6g

メモリの解放漏れを修正。「正規表現」の検索に失敗した時のエクセプションを軽減
2016.05.06

V2.6f

インデックス再作成後、butterfly_searchの再起動が必要となる不具合を修正。
2016.05.05

V2.6e

AND条件に「正規表現」を追加。
2016.04.09

V2.6d

ファイルパス/ファイル名によるフィルターを高速化。ファイル詳細画面を複数持てるように改良。一括検索時の結果をクリップボードにコピーできる様に修正。xdoc2txtをRev2.15に差し替え。Docuworksに対応(拡張子がxdw、xbdの場合、xdoc2txtを-iオプションでコールする様に修正)
2016.03.08

V2.6c

xdoc2txtをRev2.14に差し替え。ビルドオプションに/LARGEADDRESSAWAREを付与しメモリ不足を出にくくした。
2016.02.18

V2.6b

メモリ確保失敗時に異常終了してしまう不具合に対応 ※本版はmicrosoft security essentials にてトロイの木馬と判定されますが誤検知となります。microsoft security essentialsの対応を待つか他の版をご利用下さい。(2016.03.06)
2015.12.13

V2.6a

バイナリファイル内のテキストデータの抽出に対応(拡張子がEXEとDLLの場合のみ)
2015.07.09

V2.5k

サブフォルダ名称に「_bf_」を付与(例:cache→_bf_cache)し、除外フォルダの初期値を修正した。これにより自分自身はインデックス対象から外れる様した。同一ファイルがシンボリックリンクで複数回指定されている場合、冗長な検索結果となっていたが、これを冗長にならない様に修正した。
2015.07.01

V2.5j

多重起動対応。インデックスが2Gを超えるとハングアップする問題対応。xdoc2txtの変換タイムアウトを30分→3分へ変更。
2015.05.17

V2.5i

xdoc2txtの変換に30分以上かかった場合エラーとして次の処理に移る様修正。日本語を収録する際の文字列長を4文字から3文字へ。
2015.01.11

V2.5h

同梱のxdoc2txtをRev2.07へ差し替え。これによりテキスト以外のファイルもUNICODEに対応。
2013.12.12

V2.5g

行表示ペインの修正(表示上限を10000→100000へ。コピペアイテムにファイルパスを追加。)
2013.09.27

V2.5f

クリップボード連動をONにした時にクラッシュする問題対応その2
2013.09.21

V2.5e

クリップボード連動をONにした時にクラッシュする問題対応
2013.08.03

V2.5c

分布表示時のキー連動先としてクリップボードを追加。
2013.06.09

V2.5a

分布ボタン押下時の色変更機能を追加。
2013.05.01

V2.4i

ビッグデータに対応(2Gバイトを超えるテキストファイルに対応)。特定のフォルダを検索対象から外せるように対応。
2012.07.28

V2.4h

ショートカットファイルのショートカット先を検索対象とする様に仕様変更
2012.06.17

V2.4g

検索履歴の履歴が冗長表示とならない様にガードを処理を追加
2012.05.27

V2.4f

同梱のxdoc2txtフィルターをVer1.41→Ver1.42へ差し替え
2012.05.01

V2.4e

コマンドラインからのインデックス作成に対応
2012.02.24

V2.4d

画像から文字を認識する機能(OCR)に対応
2012.02.08

V2.3a

xdoc2txtフィルターを使用する条件として、拡張子「docm/pptm/xlsm」を追加
2011.01.15

V2.3

正式版 表記をV2.3へ変更。内容はV2.2cと同等
2011.12.11

V2.2c

NULLが含まれるファイルをバイナリーファイルとして判定されないことがあるバグ対応
2011.10.01

V2.2b

フォルダ名に「.」が含まれると解析エラーになるバグ対応)
2011.09.25

V2.2a

xdoc2txt同梱によりword/excel/pdf等のファイルにも対応)
2011.09.03

V2.1b

右端での改行する/しないを設定可能に+改行バグ修正)
2011.06.26

V2.0

正式版  ファイル名の判定処理を高速化。AND条件機能を追加
2010.07.29

V1.9c

LinxuOSでのファイル名の大文字小文字区別に対応
2010.04.13

V1.9b

xdoc2txt.exeとの連携対応

※サーバーの容量の関係で過去の版は削除しております。

 







【特徴】

・速い。(と思う)

・ワンクリックで該当行へジャンプする。

・全文検索エンジンと検索ツールが一体で導入簡単。

・インストール不要でお手軽。(ファイルのコピーのみで動作)

・明確なルールにより、理論上検索漏れなし。 (半角英数字と半角アンダーバーの列は単語としてインデックス化。その他の文字(日本語)はN-gram法でインデックス化)

・検索候補の検索が可能。 例:「*tar*」と入力して下矢印キーにより「Start」という候補を見つける事が可能。

・文字コードは Unicode(UTF-16),Unicode(UTF-8),Unicode(UTF-7),Shift-JIS,EUC,JISに対応。(IMultiLanguage2->DetectInputCodepageを使用しているのでBIG5等も含めエクスプローラで表示できる文字は認識する筈です)

Unicodeに対応。正規表現に部分的に対応。

・ショートカットをたどる事ができる。(ショートカット集を検索対象に指定可能)

・2GB以上のテキストファイルに対応。

・近接検索に対応(前後2行の範囲を指定可能)。

テキストファイル専用!
 

                            


【他ツールとの違い】

■googleデスクトップとの違い

 ・すべての文字をインデックス化出来る。(googleデスクトップは先頭75000文字まで)

 ・検索対象とするディレクトリを指定できる。(googleは自動化されすぎていてユーザーのコントロールが出来ない)

 ・インデックスへ 登録できた /  出来なかったを確認する事が出来る。

 ・駐在型ではないので、Windowsの動作が遅くならない。


■namazu
との違い

 ・細かい設定が不要。(600Kバイト以上のファイルを扱うときはnamazurc$TEXT_SIZE_MAXを修正する必要ある等)

 ・Perlや、KAKASI等の追加インストールが不要。

 ・分かち書きに失敗して検索漏れが発生するのでは?という心配が不要。

 

■grepとの違い

・検索速度が違う。(当たり前ですね。)

 

【インデックスのサイズ、作成時間について】
 ―インデックス構築例1―
  ・マシンスペック
    メモリ         2Gバイト
    CPU Core2    2.66GHz

  ・インデックス対象ファイル
   日本語混じりの英文ファイル  約7万ファイル
   対象ファイルサイズ合計       1.5Gバイト


  ・結果
   処理時間                   5.5時間
   インデックスのサイズ    0.6Gバイト
   検知した単語の数        約700万



 ―インデックス構築例2―
  ・マシンスペック
    メモリ         8Gバイト
    CPU Core i3    3.40GHz

  ・インデックス対象ファイル
   日本語混じりの英文ファイル  約105万ファイル
   対象ファイルサイズ合計       50Gバイト


  ・結果
   処理時間                   48時間
   インデックスのサイズ    11Gバイト
   検知した単語の数        約3247万


【リリース情報】

作者ブログへ


【マニュアル】

マニュアル



【謝辞】

【ご紹介】

以下、紹介して頂いております。ありがとうございます。

・雑誌「ネットラン」2009年8月号に収録して頂きました。

・雑誌「IP」2013年9月号に収録して頂きました。

・ベクターさんでレビューをして頂きました。

・教えて君.netさんで紹介して頂きました。


【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/ 日本語
ありがとうございます。