Benachrichtigungsprozess in Windows Search
Dieses Thema ist wie folgt organisiert:
- Übersicht über den Benachrichtigungsprozess
- Crawls
- Indexer-verwaltete Benachrichtigungen
- Vom Anbieter verwaltete Benachrichtigungen
- Benachrichtigungen in Rowsets
- Zugehörige Themen
Übersicht über den Benachrichtigungsprozess
Es gibt drei Ansätze, mit denen Daten aus Ihrem Datenspeicher indiziert werden können:
- Crawls
- Indexer-verwaltete Benachrichtigungen
- Vom Anbieter verwaltete Benachrichtigungen
Die Vorteile der einzelnen Ansätze werden in den folgenden Abschnitten beschrieben.
Crawls
Benachrichtigungsfähige Quellen führen beim Start eine inkrementelle Durchforstung durch und verlassen sich dann auf Benachrichtigungen oder einen expliziten Befehl, um erneut zu durchforsten. Dies geschieht automatisch unter Windows Vista und höher. Unter Betriebssystemen vor Windows Vista müssen Sie ein geplantes Ereignis im Aufgabenplaner einrichten, das in Ihren Code aufruft, um eine Durchforstung ihrer Startseite(en) zu initiieren. Sie müssen keine Form von Benachrichtigungen implementieren. Als Hintergrundprozess durchläuft der Indexer seinen Durchforstungsbereich, sucht nach Änderungen und aktualisiert den Katalog. Diese Option wird für fast alle Situationen empfohlen.
Indexer-Managed Benachrichtigungen
Mit vom Indexer verwalteten Benachrichtigungen implementieren Sie eine Benachrichtigungsstrategie, die den Indexer benachrichtigt, wenn sich Daten im Datenspeicher geändert haben, und der Indexer verwaltet die Nachverfolgung der Benachrichtigungen und die Indizierung der Daten. In dieser Situation überwacht Ihre Komponente (die wir als Benachrichtigungsanbieter bezeichnen) den Datenspeicher, sammelt Informationen zu Änderungen am Speicher und benachrichtigt den Indexer dann regelmäßig mit einer Liste von Elementen, die indiziert werden müssen. Der Indexer ist für das Wiederherstellen und Auflösen von Benachrichtigungen im Falle eines Fehlers verantwortlich. Diese Option, die Sie sich als strategie "senden und vergessen" vorstellen können, reduziert die Häufigkeit von Indexerdurchforstungen.
Provider-Managed Benachrichtigungen
Mit vom Anbieter verwalteten Benachrichtigungen implementieren Sie eine Benachrichtigungsstrategie, die dem zweiten Ansatz ähnelt, mit dem Unterschied, dass Ihr Benachrichtigungsanbieter Benachrichtigungen nachverfolgen muss und für die Wiederherstellung und Auflösung von Benachrichtigungen im Falle eines Fehlers verantwortlich ist. In dieser Situation überwacht Ihr Benachrichtigungsanbieter den Datenspeicher, sammelt und verwaltet Informationen zu Änderungen am Speicher, benachrichtigt den Indexer regelmäßig mit einer Liste von Elementen, die indiziert werden müssen, empfängt status Updates vom Indexer und sendet Benachrichtigungen im Falle eines Fehlers erneut.
Hinweis
Diese Option wird nicht empfohlen, es sei denn, Sie erwarten, dass inkrementelle Durchforstungen Ihres Datenspeichers die Leistung erheblich beeinträchtigen und Sie eine präzise Kontrolle über oder Einblicke in die Indizierung status benötigen.
Benachrichtigungen in Rowsets
In Windows 7 und höher können Anbieter durch Indizierungsereignisse Benachrichtigungen über ihre Rowsets empfangen. Anbieter, die Indizierungsereignisse verwenden, können ihre Rowsets in einer Weise verwalten, die dem Verhalten der tatsächlichen Dateisystemspeicherorte ähnelt. Bibliotheken und Suchvorgänge sind die wichtigsten Beispiele für Nicht-Dateisystemspeicherorte in Windows 7. Indexer-Ereigniserstellung besteht darin, Ansichten zu bibliothekieren, da Benachrichtigungen für Dateiordnersichten gelten. Die IRowsetEvents-Schnittstelle muss implementiert werden, um Benachrichtigungen über Ereignisse zu empfangen. Die Datenschicht ist der primäre Client der Indexerereigniserstellung und entscheidet, was mit Ereignissen auf der Benutzeroberfläche der Elementansicht geschehen soll. Weitere Informationen finden Sie unter Indizierungspriorisierung und Rowsetereignisse in Windows 7.
Im Gegensatz dazu haben abfragebasierte Ansichten in Windows Vista keine zugeordneten Ereignisse, mit Ausnahme des Shellcaches für Dateieigenschaftenbearbeitungen. Wenn Sie eine Suche ausführen, sind die zurückgegebenen Ergebnisse statisch. Wenn Ihrem System daher ein weiteres Dokument hinzugefügt wird, das Ihrem Suchbegriff entspricht, wird Ihre Ansicht nicht so aktualisiert, dass sie den neuen Zusatz enthält. Dieses Verhalten ist standard für statische webbasierte Ergebnisse. Statische Ergebnisse sind jedoch weniger akzeptabel, wenn Sie versuchen, eine abfragebasierte Ansicht für einen Speicherort bereitzustellen. Benutzer erwarten, dass der Inhalt des Indexers aktuell ist. Weitere Informationen finden Sie unter Benachrichtigen des Index der Änderungen. Referenzdokumentation finden Sie unter Benachrichtigungsschnittstellen.
Zugehörige Themen