Die Schnittstellen ISearchCatalogManager und ISearchCatalogManager2 bieten Methoden zum Verwalten eines Suchkatalogs, z. B. zur Neuindizierung oder Festlegen von Timeouts. Während Windows Search derzeit nur einen Katalog verwendet, wurde diese Schnittstelle entwickelt, um Ihnen mehr Kontrolle für die unabhängige Verwaltung mehrerer Kataloge zu ermöglichen. Die Schnittstelle verwaltet den Katalog auf folgende Weise:
Zugriff auf andere Schnittstellen– Abrufen anderer suchbezogener Schnittstellen, die vom Durchforstungsbereichs-Manager, Datenänderungsbenachrichtigungen und der ISearchQueryHelper-Schnittstelle erforderlich sind.
Kataloginhalte– Stellen Sie sicher, dass neue Daten indiziert werden und dass andere Anwendungen und Komponenten ordnungsgemäß funktionieren, indem Sie eine Neuindizierung des gesamten oder eines Teils des Katalogs erzwingen oder den gesamten Katalog zurücksetzen.
Katalogeigenschaften – Festlegen von Eigenschaften, die bestimmen, wie der Katalog Timeouts beim Herstellen einer Verbindung mit Protokollhandlern verwaltet und wie diakritische Markierungen in Suchvorgängen behandelt werden.
Katalog status – Abrufen von Informationen zum Katalog, einschließlich status, Größe und aktuellem Aktivitätsstatus.
Einige nützliche Schnittstellen auf der Windows Search-Plattform erfordern eine instance des Katalog-Managers, bevor sie verwendet werden können. Um einen Katalog-Manager für einen angegebenen Katalog zu erstellen, rufen Sie die ISearchManager::GetCatalog-Methode auf. Die Methoden des Katalog-Managers können dann verwendet werden, um Schnittstellen zu instanziieren und zurückzugeben, die auf dem angegebenen Katalog basieren.
Ruft eine instance von ISearchCrawlScopeManager für diesen Suchkatalog ab, damit Entwickler den Durchforstungsbereich des Windows Search-Indexers ändern können.
Ruft eine instance der ISearchItemsChangedSink-Schnittstelle ab, die Clientanwendungen verwenden, um den Indexer über Änderungen zu benachrichtigen, wenn der Client status Informationen zum Element indizieren möchte, um vom Anbieter verwaltete Benachrichtigungen zu unterstützen. Weitere Informationen finden Sie unter Benachrichtigen des Index der Änderungen .
Ruft eine instance von ISearchPersistentItemsChangedSink ab, die Clientanwendungen verwenden, um den Indexer über Änderungen zu benachrichtigen, wenn der Client keine Indizierung status Informationen wünscht (indexerverwaltete Benachrichtigungen). Weitere Informationen finden Sie unter Benachrichtigen des Index der Änderungen .
Verwalten des Kataloginhalts
Bei der Verwaltung des Katalogs gibt es zwei Hauptaufgaben: Das Erneute Indizieren aller oder einiger URLs im Durchforstungsbereich des Indexers und das Zurücksetzen des gesamten zugrunde liegenden Katalogs. Wenn Sie URLs neu indizieren, verbleiben alte Daten im Katalog, bis sie durch neue Daten ersetzt werden. Wenn Sie den Katalog zurücksetzen, wird der gesamte Katalog neu erstellt, und alle URLs im Durchforstungsbereich werden neu indiziert. Dieser Prozess kann viel Zeit in Anspruch nehmen und sollte nur als letztes Mittel zum Lösen von Problemen wie einem möglicherweise beschädigten Index verwendet werden.
Wenn Sie eine neue Anwendung, einen Protokollhandler oder filter installieren, sollte die Setupanwendung ihr Verzeichnis oder stamm dem Durchforstungsbereich hinzufügen, um sicherzustellen, dass der Indexer den Speicherort der Daten dieser Anwendung enthält. Wenn die Daten nicht im Katalog angezeigt werden, nachdem der Indexer seinen Durchforstungsbereich durchforstet hat, sollten Sie zuerst sicherstellen, dass der Speicherort der Daten im Durchforstungsbereich enthalten ist. Sie können es über die Benutzeroberfläche für Windows Search-Optionen oder den Durchforstungsbereichs-Manager hinzufügen. Wenn sich der Speicherort im Durchforstungsbereich zu befinden scheint, können Sie manuell eine Neuindizierung aller URLs im Durchforstungsbereich des Indexers oder einer Teilmenge erzwingen, indem Sie die folgenden Methoden der ISearchCatalogManager-Schnittstelle verwenden.
Indiziert URLs neu, die dem Muster entsprechen oder an einem bestimmten Stamm beginnen (z. B. file:///C:\Ordnername\Unterordnername\). Dies ist nützlich, um alles in einem bestimmten Verzeichnis oder mit einer bestimmten Erweiterung wie bei der Installation einer Anwendung neu zu durchforsten.
Weist den Indexer an, Indizierungselemente mit URLs, die einem angegebenen Muster entsprechen, gegenüber dem Ausführen anderer Indizierungsaufgaben zu priorisieren.
Zurücksetzen des Indexes. Sie können den gesamten Index mit einem Aufruf von ISearchCatalogManager::Reset zurücksetzen. Dadurch wird der zugrunde liegende Katalog zurückgesetzt, indem die Datenbanken neu erstellt und ein vollständiger Index aller URLs im Durchforstungsbereich ausgeführt wird. Dieser Prozess kann viel Zeit in Anspruch nehmen und sollte nur als letztes Mittel zum Lösen von Problemen wie einem möglicherweise beschädigten Index verwendet werden.
Wichtig
Aufgrund der Verlangsamung der Indizierung, die diese Methoden verursachen können, sollten sie sorgfältig verwendet werden, wenn Sie versuchen, Indizierungs- oder Katalogprobleme zu identifizieren. Stellen Sie zunächst sicher, dass Ihre Suchwurzeln und Bereichsregeln im Durchforstungsbereichs-Manager hinzugefügt werden, und stellen Sie dann sicher, dass das FANCI-Bit (File Attribute Not Content Indexed) für Dateien und Ordner ordnungsgemäß festgelegt ist. Wenn Sie bestätigt haben, dass diese korrekt sind, versuchen Sie zuerst ReindexSearchRoot und zuletzt Reindex. Wenn beides nicht funktioniert, versuchen Sie zurücksetzen als letztes Mittel.
Der Katalog-Manager kann verwendet werden, um die status des Katalogs für Anwendungen abzurufen, die die Verwaltung des Katalogs anpassen möchten (z. B. eine benutzerdefinierte Überwachungsanwendung für den Katalogstatus). Der Katalog-Manager ist jedoch in der Regel nicht für die meisten suchbezogenen Entwicklungsszenarien erforderlich. Gängige Verwendungen sind eine Überwachungsanwendung für den Katalogstatus oder eine Anwendung im Systemsteuerung-Stil.
In der folgenden Tabelle werden die Methoden von ISearchCatalogManager beschrieben, die zum Verwalten von Katalogen status verwendet werden.
Ruft die URL ab, die derzeit indiziert wird. Diese Methode ist nützlich, wenn Sie ermitteln möchten, ob der Indexer an einem Element hängen geblieben ist.
Ruft die folgenden Informationen zu Elementen ab, die indiziert werden sollen:
plIncrementalCount – die Anzahl der Elemente, die im nächsten inkrementellen Index indiziert werden sollen
plNotificationQueue : Die Anzahl der Elemente in der Benachrichtigungswarteschlange. Diese Informationen sind nützlich für eine Benachrichtigungsanwendung, die überprüfen muss, ob der Indexer die von der Anwendung gesendeten Benachrichtigungen empfängt.
plHighPriorityQueue : Die Anzahl der Elemente in der Warteschlange mit hoher Priorität. Elemente in plHighPriorityQueue werden zuerst indiziert.
Ruft die status des Katalogs ab und gibt einen Enumerationswert zurück, der die aktuelle status. Im Folgenden sind mögliche Katalogzustände aufgeführt:
Leerlauf: Es ist keine Indizierung erforderlich.
Angehalten: Die Indizierung wird angehalten (z. B. aufgrund einer niedrigen Akku- oder hohen CPU-Auslastung).
Wiederherstellung: Die Indizierung wird wiederhergestellt.
Vollständige Durchforstung: Indexer führt eine vollständige Durchforstung des Durchforstungsbereichs durch.
Inkrementelle Durchforstung: Indexer führt eine inkrementelle Durchforstung durch.
Verarbeiten von Benachrichtigungen: Indexer verarbeitet Benachrichtigungen.
Ruft den Namen des aktuellen Katalogs ab, der in der ISearchManager::GetCatalog-Methode angegeben ist. Derzeit wird nur SystemIndex unterstützt.
Verwalten von Katalogeigenschaften
Es gibt drei Katalogeigenschaften, die Sie mit dem Katalog-Manager verwalten können:
Diakritische Sensibilität. Diakritische Zeichen sind Akzentmarken, die Buchstaben hinzugefügt werden, um die Bedeutung oder Aussprache eines Wortes zu kennzeichnen. Diese Eigenschaft bestimmt, ob der Katalog empfindlich auf diakritische Elemente reagiert, und ist wichtig, wenn Sie oder Ihre Benutzer Text in mehreren Sprachen suchen und indizieren. Wenn diese Eigenschaft beispielsweise auf FALSE festgelegt ist, behandelt der Katalog "resume" und "resumé", als wären sie dasselbe Wort.
Verbindungstimeouts. Diese Eigenschaft stellt die Zeit zum Warten auf eine Verbindungsantwort von einem Server oder Datenspeicher dar, wie sie in einer TIMEOUT_INFO-Struktur dargestellt wird. Sie können diese Eigenschaft verwenden, um Windows Search zu optimieren.
Datentimeouts Diese Eigenschaft stellt die Zeitspanne dar, die auf eine Datentransaktion zwischen dem Indexer und einem Protokollhandler oder Filter gewartet werden muss, wie sie in einer TIMEOUT_INFO-Struktur dargestellt wird. Wenn diese Zeit verstrichen ist, wird der Prozess aus dem Filterdaemon beendet, um Deadlocks und andere Ressourcenprobleme zu verhindern.
Die letzten beiden Eigenschaften sind in erster Linie für die zukünftige Verwendung vorgesehen. Jede dieser Eigenschaften verfügt über get Und put -Methoden.
TRUE, wenn der Katalog Wörter mit diakritischen Wörtern unterscheiden soll.
FALSE , wenn der Katalog diakritische Elemente ignorieren soll. Um diese Eigenschaft zu ändern, muss der Index neu erstellt werden, da die Schlüssel des Indexes möglicherweise ungültig werden.
Die Zeit in Sekunden, die der Indexer auf eine Verbindungsantwort von einem Server oder Datenspeicher warten soll. Wenn sie zu hoch festgelegt werden, kann dies zu Verzögerungen führen, wenn viele Websites nicht reagieren. Wenn Sie ihn zu niedrig festlegen, kann dies dazu führen, dass einige Websites nicht durchforstet werden.
Die Zeit in Sekunden, die der Indexer auf eine Datentransaktion warten soll.
Ausführen im Modus mit erhöhten Rechten
Für alle Methodenaufrufe, die systemIndex aktualisieren, muss Ihre Anwendung mit erhöhten Rechten ausgeführt werden. Andernfalls schlägt ihre Anwendung mit einem Fehler vom Typ Zugriff verweigert fehl.
Informieren Sie sich über Microsoft Search und erfahren Sie, wo Benutzer suchen können, welche Antworten und Ergebnisse sie sehen werden, und wie Sie die Sucherfahrung für Ihre Organisation anpassen können.