Windowsに統合されるようになった検索機能

Windowsに統合されたインデックスサービスは、コントロールパネルにある「インデックスのオプション」から動作を制御できる
Windowsには、システムに検索機能が組み込まれている。この機能はWindows NTの頃にインデックスサービスとしてオプションで提供が始まり、Windows Vistaでシステムの標準組み込み機能になった。
本当はWindows Vistaには、データベース機能を包括するWinFSなどの機能が搭載される予定だったが、計画変更により、それまでXP向けなどに配布されていたWindowsデスクトップサーチが標準で組み込まれることになった。
Windows 7では統合が強化され、さらにWindows 8では検索チャームでインターネット検索などと組み合わせて利用できるようになった。そしてWindows 8.1では、Bingとの統合が行なわれ、1つのキーワード入力でインターネット検索を含めて、適切な検索結果が出るようになった。もっとも、何が適切なのかは人によって違うため、場合によっては、望まない結果を提示されることもあるようだが……。
もっともWindows 8.1でも、デスクトップのWindows Explorerでの検索機能は従来のままで、インターネット検索などは行なわれない。これはExplorerからでは、検索対象がフォルダとして指定されることになるため、ファイル検索の機能のみが使われるからである。
この検索機能でローカルのファイルなどを検索する場合、高速化する仕組みとしてインデックスサービスが組み込まれている。これはシステムのアイドル時などにファイルを1つ1つ調べて、検索キーワードとファイルを対応させてインデックスデータを作成するものだ。
検索機能については、次回解説することにして、今回は、まず、このインデックスサービスについて解説しよう。
インデックスサービスとは一体何?
インデックスサービスは、大きくファイルのプロパティ情報とファイル内のコンテンツをインデックス作成のデータとしている。ファイルのプロパティは、Windowsが持つプロパティシステムを使って、ファイルから収集される情報で、どのようなファイルに関しても、最低限ファイル名や作成日時、更新日時の情報が得られる。
それ以上の情報は、ファイル形式を定義する企業などが提供するプロパティハンドラやマイクロソフトが提供する著名なファイル形式(たとえば、JPEGやデジカメ画像のExifなど)のプロパティハンドラがあれば、たとえば音楽ファイルであれば、アーティスト名や曲名、画像データならば、撮影日や解像度といった情報をファイルから取り出すことが可能だ。
インデックスサービスは、こうしたプロパティ情報をもとにインデックスを作成する。たとえば写真の撮影日であれば、撮影日の情報を持つファイルと撮影日の対応データをインデックス化し、去年撮影した画像、今週撮影した画像という検索をすばやくできるようにできる。
もう1つはファイル内容によるインデックスで、たとえば「ASCII」という単語を含むファイル、「ABC」という単語を含むファイルといった形で、キーワードとファイルの対応をインデックス化する。
ただし、ファイル内容によるインデックス作成には、ファイルから検索語になるキーワードを抜き出すためのフィルターと呼ばれるプログラムモジュールを組み込む必要がある。こちらも、テキストファイルのような著名な形式のものは、マイクロソフトがWindowsに標準で組み込んでいるが、サードパーティのアプリケーションなどに関しては、ファイル形式の開発者がフィルターモジュールを提供する必要がある。
さらにZIPファイルなどの複数のファイルを格納するようなファイル形式や、メールのメッセージデータファイル(複数のメッセージが格納されている)など、複数のファイルを包括するファイルや、実体はファイルだが、格納されている多数のデータはファイルではないもの(メールのメッセージや予定表などの項目)に対しても、インデックス化が可能な仕組みも提供されている。
このときに使われるソフトウェアモジュールを「プロトコルハンドラ」という。そもそもプロトコルハンドラとは、WindowsでHTTPなどの通信プロトコルを扱うための仕組みの1つ。たとえば、マイクロソフトは、OutlookやOneNoteといったアプリケーションに対して、検索用のモジュールを提供しており、これらのアプリケーションのインストール時にフィルターモジュールとともにプロトコルハンドラを組み込む。

この連載の記事
-
第478回
PC
Copilot+ PCでNPUを使ってローカル推論 「Windows Copilot Runtime」を試す -
第477回
PC
Windowsで2つの文字列を同時に含むテキストファイルを探す方法を考える -
第476回
PC
さらばSkype! Windows&MSのコミュニケーションアプリの30年 -
第475回
PC
Windowsのコマンドラインの補完機能について解説 -
第474回
PC
Windowsでのコマンドラインのヒストリ機能 -
第473回
PC
Windowsは内部的にどうやってインターネットへの接続状態を確認している? -
第472回
PC
WindowsのエラーをMicrosoftに送信するテレメトリ機能を理解する -
第471回
PC
Windowsのコマンドラインでエイリアスを使う -
第470回
PC
Windows用のパッケージマネージャー「Winget」 プレビュー版で機能が充実してきた -
第469回
PC
Windows Updateの27年 悪役だった頃から改良が進んで、徐々に目立たない存在に -
第468回
PC
2025年のWindowsどうなる!? Windows Insider Programの状況をあらためて見る - この連載の一覧へ