Share via


Entwickeln von Protokollhandler-Add-Ins

Hinweis

Windows Desktop Search 2.x ist eine veraltete Technologie, die ursprünglich als Add-In für Windows XP und Windows Server 2003 verfügbar war. Verwenden Sie in späteren Releases stattdessen Windows Search .

Sie können Microsoft Windows Desktop Search (WDS) um neue Datenspeicher erweitern, indem Sie einen benutzerdefinierten Protokollhandler implementieren.

Indizieren von Datenspeichern mit Protokollhandlern

Ein Datenspeicher ist eine Inhaltsquelle (ein Datenbanksystem, ein Verzeichnis, ein Dateisystem), in der Daten gespeichert werden und vom WDS Indexer durchforstet werden können. Der Speicher kann hierarchisch (z. B. eine Datenbank) oder linkbasiert (wie eine Website) sein. Ein Protokollhandler ermöglicht es Indizierungsanwendungen wie WDS, die Knoten eines Datenspeichers systematisch zu durchforsten, um relevante Informationen zu extrahieren, die in den Index aufgenommen werden sollen. Jeder Protokollhandler wird verwendet, um einen bestimmten Typ von Datenspeicher zu indizieren. WDS wird mit Protokollhandlern für Dateisystemspeicher und für Microsoft Outlook- und Microsoft Outlook Express-Datenspeicher (E-Mail-Speicher, ) ausgeliefert. PST-Dateien usw.). Beim Indizieren von Outlook-E-Mails durchforstet der Protokollhandler beispielsweise alle Nachrichten in allen Ordnern und extrahiert Informationen aus jeder Nachricht und Anlage. Diese Informationen werden an den Indexer übergeben, um sie in den WDS-Katalog aufzunehmen.

Häufig müssen Benutzer andere Datenspeicher durchsuchen, z. B. Legacydatenbanken, E-Mail-Speicher oder Datenstrukturen, die nicht von WDS unterstützt werden. Sie können WDS erweitern, um einen neuen Datenspeicher zu durchforsten, indem Sie einen Protokollhandler speziell für diesen Datenspeicher verwenden oder implementieren. Zunächst sollten Sie ermitteln, ob bereits ein Protokollhandler für Ihren Datenspeicher vorhanden ist, z. B. für die Verwendung mit einer anderen Anwendung wie SharePoint Services. Wenn ja, können Sie diesen Protokollhandler auf dem System installieren. Wenn jedoch kein anderer Protokollhandler vorhanden ist, müssen Sie einen implementieren. WDS-Protokollhandler verwenden dieselben Entwurfsspezifikationen wie SharePoint Services und können häufig austauschbar verwendet werden.

Wenn der Datenspeicher außerdem andere Daten- oder Dateitypen als einen der 200 von WDS unterstützten Dateitypen enthält, müssen Sie auch einen Filter implementieren, um auf die Inhalte von Elementen im Speicher zuzugreifen und diese zu indizieren. WDS 2.x verwendet den Protokollhandler und die IFilter-Technologie, die von SharePoint Services verwendet werden. Wenn Sie bereits Filter für einen bestimmten Speicher und einen bestimmten Dateityp auf dem System installiert haben, das indiziert wird, verwendet WDS die vorhandenen Schnittstellen, um diese Daten zu indizieren.

 

Roadmap zum Hinzufügen neuer Datenspeicher

Um WDS zum Durchforsten neuer Datenspeicher zu erweitern, können Sie einen Protokollhandler und mindestens eins der folgenden Add-Ins erstellen: Kontextmenühandler, Symbolhandler und ein SearchProtocolOptions-Add-In.

  1. Erstellen und Registrieren eines Multithreadprotokollhandlers für den Datenspeicher:

    • ISearchProtocol : Diese Schnittstelle greift auf ein Protokoll zu und ordnet eine URL einem IUrlAccessor zu.
    • IUrlAccessor: Dies ist die Standard-Schnittstelle, die für den Zugriff auf Elemente aus der Inhaltsquelle und das Binden des Inhalts an den entsprechenden Filter verwendet wird.
    • IProtocolHandlerSite : Diese Schnittstelle wird verwendet, um zusätzliche Filter anzufordern und zu laden.
    • IFilter : Diese Schnittstelle gibt die URL jedes Elements in einem Ordner als Werteigenschaften für die Verarbeitung zurück.

    Hinweis

    Die minimale Add-In-Funktionalität, die zum Zurückgeben von Suchergebnissen aus einem nicht hierarchischen Datenspeicher erforderlich ist, ist eine Implementierung von ISearchProtocol- und IUrlAccessor-Schnittstellen.

     

  2. Implementieren Sie die ISearchProtocolOptions-Schnittstelle, um benutzerdefinierte Protokollhandleroptionen wie vordefinierte Startseiten einzuschließen:

    • ISearchProtocolOptions : Diese Schnittstelle definiert Standard-URLs für den zu verarbeitenden Protokollhandler, bestimmt die Anforderungen für einen Protokollhandler und bestimmt, ob die Anforderungen auf einem bestimmten System erfüllt wurden.
  3. Erweitern Sie Shell, um Benutzeroberflächenelemente wie Kontextmenüs und dateispezifische Symbole einzuschließen, indem Sie die folgenden Schnittstellen implementieren:

    • IShellFolder : Diese Schnittstelle, die zum Verwalten von Ordnern verwendet wird, ist erforderlich, um die Schnittstellen IContextMenu und IExtractIcon für eine URL in einem neuen Speicher bereitzustellen.
    • IPersistFolder : Diese Schnittstelle ist erforderlich, um ein Shell-Ordnerobjekt anzuweisen, sich selbst zu initialisieren.
    • IPersist : Diese Schnittstelle stellt den Klassenbezeichner (CLSID) eines Objekts bereit, das dauerhaft im System gespeichert werden kann.
    • IContextMenu : Diese Schnittstelle definiert das Kontextmenü mit der rechten Maustaste für ein Element, auf das per URL verwiesen wird.
    • IExtractIcon : Diese Schnittstelle definiert das Symbol, das für ein Element angezeigt werden soll, auf das per URL verwiesen wird.
  4. Implementieren Sie einen Mechanismus, um den Indexer über Änderungen an Ihrem Datenspeicher zu benachrichtigen:

    • ISearchItemsChangedSink : Mit dieser Schnittstelle kann Ihr Protokollhandler den Index über Änderungen an Ihrem Datenspeicher benachrichtigen. Dadurch wird die Leistung verbessert, indem sichergestellt wird, dass der Indexer nicht den gesamten Speicher in inkrementellen Indizes durchforstet.

Referenz

Implementieren eines Protokollhandlers für WDS

Hinzufügen von Symbolen, Vorschauen und Kontextmenüs mit Shellerweiterungen

Benachrichtigen des Indexes über Änderungen

Installieren und Registrieren von Protokollhandlern