インデックス検索を併用する理由

GREP系の検索ソフトは検索対象とするファイルを全て"総舐め方式"で検索するため、ファイルの個数が増えるのに 比例して検索時間が長くなります。このような検索方式を逐次検索 と呼びます。

大量のファイルを高速に検索する方法としては、あらかじめファイルにインデックスを 作成して検索を高速化するインデックス検索 があります。 インデックスを使用して高速に文書を検索するシステムを特に 全文検索システム といいます(逐次検索もインデックス検索もどちらも全文検索なのですが)。

全文検索システムはいいことづくめのようですが、注意すべき点があります。

逐次検索とインデックス検索の長短を比較すると、下表のようになるでしょう。

項目 逐次検索 インデックス検索
インデックス領域 不要 必要
検索速度 遅い 高速
検索精度 ノイズがある

逐次検索ではインデックス検索とは逆に、速度は遅いながら精度的には完全な検索をすることができます。
そこで、インデックス検索と逐次検索のハイブリッド検索 という現実解が出てきます。つまり、全文検索システムで高速に検索対象のファイルを絞り込み、GREPで一致箇所を全て列挙するという方式です。

は、Windows用の各種全文検索エンジンのフロントエンドになることができるので、全文検索+GREPのハイブリッド検索ができます。

ハイブリッド検索では、全文検索エンジンにつきものの"検索ノイズ"を除去できる利点もあります。

再現率と精度、検索もれと検索ノイズ
データベースにあるはずのデータがみつからないことを検索もれ といい、反対に検索結果に不要なデータが含まれることを検索ノイズ といいます。 再現率(Hit Rate)精度(Precision) は検索結果がどれだけ検索要求を満たしているかを示す尺度で、 「検索もれがどれだけ少ないか」が再現率、 「検索ノイズがどれだけ少ないか」が精度です。 一般的には再現率を上げると精度が落ち、精度を上げると再現率が落ちるという関係にあります。

KWIC Finderから利用できる全文検索エンジンは、以下の通りです。

全文検索エンジン 動作条件
namazu Windows 95/98/Me/NT/2000/Xp
Hyper Estraier Windows 2000以降
Microsoft Index Service Windows2000、Windows Xp、Windows2003 Server
Windows Desktop Search 3.0 Windows Xp、Windows2003 Server
Google Desktop Search Windows2000、Windows Xp、Windows2003 Server

全文検索エンジンによって、KWIC Finderから利用できる検索機能に差異があります。

AND OR NOT NEAR フレーズ検索 属性検索 あいまい検索 正規表現 同義語
逐次検索
namazu NOT
Hyper Estraier ANDNOT
Microsoft Index Service AND NOT
Windows Desktop Search AND NOT
Google Desktop Search