Windows Search の通知プロセス

このトピックは次のように構成されています。

通知プロセスの概要

データ ストアのデータのインデックスを作成するには、次の 3 つの方法があります。

  • クロール
  • インデクサーで管理される通知
  • プロバイダーによって管理される通知

各アプローチのメリットについては、次のセクションで説明します。

クロール

通知が有効なソースは、起動時に増分クロールを実行し、通知または明示的なコマンドに依存して再度クロールします。 これは、Windows Vista 以降で自動的に発生します。 Windows Vista より前のオペレーティング システムでは、タスク スケジューラ でスケジュールされたイベントを設定し、コードを呼び出してスタート ページのクロールを開始する必要があります。 通知の形式を実装する必要はありません。 バックグラウンド プロセスとして、インデクサーはクロール スコープを走査し、変更を探し、カタログを更新します。 このオプションは、ほぼすべての状況で推奨されます。

インデクサーで管理される通知

インデクサーで管理される通知では、データ ストア内のデータが変更されたときにインデクサーに通知する通知戦略を実装し、インデクサーは通知の追跡とデータのインデックス作成を管理します。 このような状況では、コンポーネント (通知プロバイダーと呼びます) がデータ ストアを監視し、ストアへの変更に関する情報を収集した後、インデックス作成が必要な項目の一覧をインデクサーに定期的に通知します。 インデクサーは、障害が発生した場合の通知の回復と解決を担当します。 このオプションは、"送信して忘れる" 戦略と考えることができますが、インデクサー クロールの頻度を減らします。

プロバイダーによって管理される通知

プロバイダーが管理する通知では、通知プロバイダーが通知を追跡する必要があり、障害が発生した場合の通知の回復と解決を担当する点を除き、2 番目の方法に似た通知戦略を実装します。 このような状況では、通知プロバイダーはデータ ストアを監視し、ストアへの変更に関する情報を収集して保持し、インデックス作成が必要な項目の一覧を定期的にインデクサーに通知し、インデクサーから状態の更新を受信し、障害が発生した場合に通知を再送信します。

手記

このオプションは、データ ストアの増分クロールによってパフォーマンスが大幅に低下することが予想される 、インデックス作成の状態をきめ細かく制御または分析する必要がある場合を除き、 推奨されません。

 

行セットに関する通知

Windows 7 以降では、インデックス作成イベントを使用すると、プロバイダーは行セットに関する通知を受信できます。 インデックス作成イベントを使用するプロバイダーは、実際のファイル システムの場所の動作に似た方法で行セットを維持できます。 ライブラリと検索は、Windows 7 のファイル システム以外の場所の主な例です。 インデクサー イベントは、ファイル フォルダー ビューに対する通知としてライブラリ ビューに対して行われます。 イベントの通知を受信するには、IRowsetEvents インターフェイスを実装する必要があります。 データ レイヤーはインデクサー イベントのプライマリ クライアントであり、Items View UI でイベントを処理する方法を決定します。 詳細については、「Windows 7 でのインデックス作成の優先順位付けイベントと行セット イベントの」を参照してください。

これに対し、Windows Vista では、ファイル プロパティの編集用のシェル キャッシュを除き、クエリ ベースのビューにはイベントが関連付けされません。 検索を実行すると、返される結果は静的になります。 そのため、検索語句に一致する別のドキュメントがシステムに追加された場合、ビューは更新されず、新しい追加が含まれます。 この動作は、静的な Web ベースの結果の標準です。 ただし、ストレージの場所に対してクエリ ベースのビューを提供しようとしている場合、静的な結果は受け入れにくいです。 ユーザーは、インデクサーのコンテンツが最新であることを期待しています。 詳細については、「変更のインデックスへの通知」を参照してください。 リファレンス ドキュメントについては、「通知インターフェイスの」を参照してください。

Windows Search でのインデックス作成、クエリ、通知の

インデックス に含まれる内容の

Windows Search でのインデックス作成プロセスの

Windows Search での クエリ プロセス

URL の書式設定の要件