Wie erhalte ich Suchergebnisse mit der besten Aktualität? Eine Einführung in die kontinuierliche Durchforstung (Crawl) für SharePoint.

Veröffentlichung des Originalartikels: 15.09.2012

Zielgruppe: Administratoren/IT-Fachpersonal
Voraussetzungen: Dieser Beitrag geht davon aus, dass der Leser grundlegende Kenntnisse zur Suchverwaltung rund um die SharePoint-Suchtopologie, den Crawl-Mechanismus und die Prinzipien der Crawl-Planung besitzt.
Hinweis: Dieses Feature ist neu in SharePoint 2013.

Was sind Suchergebnisse mit der besten Aktualität?
Nachdem ein Benutzer ein Dokument auf seine SharePoint-Website hochlädt, verstreicht eine gewisse Zeit, bevor dieses Dokument für die Suche über das SharePoint-Suchportal zur Verfügung steht. Dieser Zeitraum gibt die Aktualitätslatenz (Wartezeit) an.

Wovon ist die Aktualität abhängig?
Mehrere Faktoren – Repositorygröße, Änderungsrate, Anforderungs-/Antwortzeit vom Repository, Durchforstungsplan, Art der Änderungen. Damit ein Dokument für die Suche zur Verfügung gestellt werden kann, muss ein Crawl-Vorgang ausgelöst werden (manuell oder automatisch nach Plan), und die Änderung muss identifiziert, angefordert und schließlich verarbeitet werden.

Was ist also das Problem?
Ursprünglich gab es in der SharePoint-Suche zwei Planungsoptionen – den vollständigen oder den inkrementellen Crawl. Ein vollständiger Crawl stößt die Durchsuchung des gesamten Hosts an, während ein inkrementeller Crawl lediglich die Elemente des Hosts verarbeitet, die seit dem letzten Crawl geändert wurden. Hierfür wurden entweder alle Dokumente anhand eines Zeitstempels verglichen, oder es wurde ein bereits vorhandenes Änderungsprotokoll für das jeweilige Repository verwendet, in dem die geänderten Dokumente aufgelistet waren. Zum Erzielen einer höheren Aktualität bestand die empfohlene Herangehensweise in einem aggressiveren, inkrementellen Crawl (z. B. alle 30 Minuten gegenüber 1-mal pro Tag).

Eine der Einschränkungen beim vollständigen oder inkrementellen Crawl ist, dass die beiden Vorgänge nicht parallel ausgeführt werden können. Wenn also gerade ein vollständiger oder inkrementeller Crawl ausgeführt wird, kann der Administrator keinen weiteren Crawl für diese Inhaltsquelle anstoßen. Dies erzwingt bei der Indizierung von Elementen eine FIFO-Herangehensweise (First In, First Out). Dazu kommt, dass einige Arten von Änderungen zu längeren Laufzeiten führen (z. B. muss bei einer Richtlinienänderung im Stammverzeichnis eines Hosts der gesamte Host neu indiziert werden, um die Sicherheitsbeschreibung jedes indizierten Elements zu aktualisieren). Diese beiden Faktoren führen zu einer schwankenden Aktualität, selbst wenn die Planung häufige inkrementelle Crawls vorsieht. Zur Veranschaulichung finden Sie nachfolgend das erwartete Gedankenmodell eines inkrementellen Crawls im Vergleich zur Realität, gefolgt von der Aktualität dieses Systems.

 

 

 

Wie beheben wir diesen Umstand? Mit der Einführung eines kontinuierlichen Crawls.
Ich empfehle eine Crawl-Option für SharePoint-Inhaltsquellen, die eine planungsfreie Alternative zur Verwaltung einer Inhaltsquelle bietet. Die zugrunde liegende Architektur wird entworfen, um eine konsistente Aktualität durch die Überwindung von zwei grundlegenden Einschränkungen der vollständigen/inkrementellen Crawls zu gewährleisten:

  • Sie können parallel ausgeführt werden.
  • Eine Änderung im Stammverzeichnis führt nicht zu einer geringeren Aktualität aller folgenden Änderungen.

Weitere Informationen
Hinter den Kulissen löst ein kontinuierlicher Crawl alle 15 Minuten einen Crawl-Vorgang aus, und zwar unabhängig davon, ob die vorangehende Sitzung fertiggestellt wurde oder nicht. Auf diese Weise muss eine Änderung, die sofort nach einer Änderung im Stammverzeichnis vorgenommen wurde, nicht „warten“. Neue Änderungen werden kontinuierlich parallel verarbeitet, während die Richtlinienänderung im Stammverzeichnis von einer anderen kontinuierlichen Crawl-Sitzung verarbeitet wird. Nachfolgend wird dargestellt, wie kontinuierliche Crawls alle 15 Minuten parallel angestoßen werden, um plötzliche Inhaltsschübe besser verwalten zu können, ohne die allgemeine Aktualität herabzusetzen. Im nachfolgenden Diagramm werden die Auswirkungen auf die Aktualität anhand von kontinuierlichen Crawls gegenüber inkrementellen Crawls dargestellt.

 

 

Was muss ich noch darüber wissen?
In späteren Beiträgen werden wir noch näher darauf eingehen, auf welche Weise ein kontinuierlicher Crawl mit verschiedenen Szenarien umgeht (Fehler, Sicherheit usw.) und wie Sie das Crawl-Protokoll und den Crawl-Verlauf nutzen können, um einen besseren Einblick hinter die Kulissen zu bekommen.

FAQ:

Kann ich den kontinuierlichen Crawl für alle Typen von Inhaltsquellen verwenden.
Nein. Kontinuierliche Crawls sind nur für SharePoint-Inhaltsquellen verfügbar. Für alle anderen Typen von Inhaltsquellen sind weiterhin inkrementelle oder vollständige Crawls erforderlich.

Entstehen bei der Verwendung von kontinuierlichen Crawls zusätzliche Lasten im Repository?
Der Fußabdruck von kontinuierlichen Crawls unterscheidet sich kaum von den inkrementellen Crawls. Die Häufigkeit der Anforderungen ist zwar höher, die maximale Anzahl an gleichzeitigen Anforderungen für ein Repository bzw. einen Host wird jedoch weiterhin durch sogenannte Regeln für Crawlerauswirkungen gesteuert. (Diese Regeln definieren die maximale Anzahl an gleichzeitigen Threads, die Anfragen ausführen können. Standardmäßig sind 12 Threads zulässig. Dieser Wert kann jedoch je nach Geschäftsanforderung bzw. Kapazitätsplan geändert werden.)

Muss ich bei der Verwendung von kontinuierlichen Crawls inkrementelle oder vollständige Crawls einstellen?
Bei der Verwendung von kontinuierlichen Crawls müssen keine inkrementelle Crawls konfiguriert werden.

Führt ein kontinuierlicher Crawl zu zusätzlichen Lasten im Repository/Host?
Kontinuierliche Crawls führen zu einem leichten Lastenanstieg im Host, da sie mehrere Sitzungen gleichzeitig ausführen können. Beachten Sie jedoch, dass die Regeln für Crawlerauswirkungen eingehalten werden. Diese Einstellung steuert die maximale Anzahl an gleichzeitigen Anforderungen an einen Host (der Wert ist auf 12 Threads voreingestellt, kann jedoch geändert werden).

Kann ich einen kontinuierlichen Crawl verwenden, um frühere Versionen von SharePoint-Inhalten zu crawlen?
Ja, obwohl die Suchanwendung von 2013 erforderlich ist, können Inhaltsfarmen, die ältere Versionen von SharePoint ausführen, für kontinuierliche Crawls konfiguriert werden.

Es handelt sich hierbei um einen übersetzten Blogbeitrag. Sie finden den Originalartikel unter How can I achieve the best freshness of search results? Introducing Continuous Crawls for SharePoint.