Sitecore Search Performance: Sitecore Search Indexes tunen
Das FFW-Team arbeitet mit mehr als nur Drupal und WordPress. Wir haben auch einige preisgekrönte Sitecore-Lösungen gebaut, und in dieser Sitecore-Blog-Reihe werden wir unsere Erkenntnisse über die Verfeinerung der Sitecore-Suchfunktionalität zur Verbesserung der User Experience weitergeben. Ein paar Tipps zur Optimierung bestehender Suchindizes.
In diesem Blog-Beitrag werde ich ein paar einfach anzuwendende Tipps dazu geben, wie Sie Ihre bestehenden Suchindizes optimieren können. Bevor Sie die folgenden Tipps anwenden, empfehle ich Ihnen, zunächst jedes Thema etwas genauer zu untersuchen und darüber nachzudenken, wie diese Verbesserungen in Ihr Szenario passen würden.
Konfigurieren Sie die Indexoptimierung für alle Indizes
Sitecore wird mit einem Agenten zur Optimierung von Suchindizes geliefert. In der Standardkonfiguration wird sitecore_master_index in periodischen Abständen optimiert. Sie könnten alle anderen Indizes in Ihrer Lösung zu diesem Agenten hinzufügen, so dass alle Indizes in regelmäßigen Abständen optimiert werden. Der Agent ist in der Sitecore.ContentSearch.config definiert, und hier ist der richtige Ort, an dem Sie die anderen Indizes hinzufügen können:
Indexieren Sie nur erforderliche Inhaltsorte
Sie können Ihre Index-Crawler so konfigurieren, dass sie nur den Teil enthalten, der zum Crawlen und Indizieren benötigt wird.
Dies geschieht durch Hinzufügen von Crawlern innerhalb des Elements <locations> in Ihrer Index-Konfiguration. Zum Beispiel: <agent type="Sitecore.ContentSearch.Tasks.Optimize" method="Run" interval="01:00:00">
<indexes hint="list">
<index>sitecore_master_index<index>
<!-- Add other indexes here -->
</indexes>
</agent>
Bitte denken Sie daran, dass Sie die Sitecore-Konfigurationen nicht direkt editieren dürfen, sondern ein Patch file verwenden müssen, um Ihre Änderungen anzuwenden.
Verwenden Sie die richtigen Strategien zur Index-Aktualisierung
Sie verwenden Indexaktualisierungsstrategien zur Pflege von Indizes. Sie können jeden Index mit einem eindeutigen Satz von Index-Aktualisierungsstrategien konfigurieren. Verwenden Sie Strategien, die für die Datenbank geeignet sind. Als Faustregel können Sie Folgendes verwenden:
- Core – intervalAsyncCore, der den Index standardmäßig jede Minute aktualisiert
- Master – syncMaster (Voreinstellung) oder intervalAsyncMaster. In Umgebungen, in denen Sie ein hohes Volumen an Inhaltserstellung haben, verursacht intervalAsyncMaster mit einem 1-Minuten-Intervall eine geringere Belastung des Rechners als syncMaster. Dies würde natürlich bedeuten, dass Ihre Inhaltsänderungen bei einer Suche nach dem von Ihnen angegebenen Zeitintervall (1 Minute) nicht verfügbar sind.
- Veröffentlichungsziel (Web) – onPublishEndAsync, das den Index nach einer Veröffentlichung aktualisiert
Noch mehr über die Index-Aktualisierungsstrategien gibt's in der Sitecore Documentation!
Optimize computed fields implementations
Computed Fields erlauben Ihnen zusätzlich zu denen von Sitecore völlig neue Felder in Ihren Suchindizes hinzuzufügen. Dies ist eine großartige Möglichkeit, Computed Information zu speichern, während Sitecore Ihre Artikel indexiert, anstatt mehr Ressourcen zu verwenden, um sie on the fly für die Verwendung in Ihren Sub-Layouts/Layouts zu berechnen. Die Verwendung con Computed Fields wirkt sich auch auf die Indexierungsleistung aus. Deshalb sollten Sie immer sicherstellen, dass Ihre Implementierungen von Computed Fields optimiert sind. Vermeiden Sie teuren Code wie DB-Aufrufe oder API-Aufrufe, die Ihre Indizierung verlangsamen können. Wenn ein Bedarf an DB- oder API-Aufrufen besteht, sollten Sie in Betracht ziehen, diese Daten zu pre-fetchen und sie in einem In-Memory-Cache zu speichern, der dann von Ihren berechneten Indizes verwendet werden kann. Behandeln Sie auch alle Ausnahmen in Ihren berechneten Indizes auf elegante Weise.
Möchten Sie mehr über die Verbesserung Ihrer Indexierung in Sitecore erfahren? Hier sind einige Ressourcen und weiterführende Literatur aus der großen Sitecore-Gemeinschaft, die ich empfehlen würde:
Checken Sie auch unsere anderen Artikel zur Sitecore-Search: Your Complete Guide to Performance Improvement.