Rapport de recherche sur l'état de la recherche sur site dans l'enseignement supérieur avec The Chronicle of Higher Education | Télécharger le rapport
Rapport de recherche sur l'état de la recherche sur site dans l'enseignement supérieur avec The Chronicle of Higher Education | Télécharger le rapport
Sitecore-Best-Practices-for-Solr-Indexing-1536x864

7 février 2023

Pete Navarra

|

5 min de lecture

Sitecore Sitecore est l'une des principales plateformes de gestion de contenu et de marketing du marché actuel. Sitecore utilise un moteur de recherche à deux fins dans une implémentation standard : la recherche de contenu et la recherche xConnect. Depuis la version 7.0 de Sitecore, Apache Solr a été le moteur d'indexation par défaut recommandé.

Gérer et exploiter des environnements Solr autogérés n'est pas une tâche facile. SearchStax Cloud, nous vous éliminons les tracas et la frustration liés à la gestion des opérations Solr grâce à un service flexible, facile à déployer et à utiliser.

Pour les organisations qui préfèrent exploiter des environnements Solr autogérés, de nombreuses bonnes pratiques permettent d'optimiser le fonctionnement de leurs opérations. Nous mettons en avant cinq principes directeurs pour l'optimisation de Solr dans un déploiement Sitecore, développés par les experts et ingénieurs Solr dédiés de SearchStax.

Pour obtenir des conseils spécifiques sur la mise en œuvre de Sitecore, contactez un partenaire d'implémentation, votre équipe de développement ou l'assistance Sitecore pour une assistance détaillée. Ces suggestions sont données à titre indicatif pour les développeurs Sitecore qui utilisent ou prévoient d'utiliser Solr pour l'indexation.

1. Évitez d'utiliser la stratégie d'index synchrone

La stratégie d'indexation synchrone est spécialement conçue pour indexer un élément Sitecore à la fois. Cela peut souvent entraîner des opérations de publication longues et chronophages, notamment lors de la publication du site complet.

Au lieu de cela, passer à la Intervalle asynchrone La stratégie de mise à jour de l'index se traduira par de meilleures performances et vous permettra d'optimiser la consommation des ressources.

Sitecore a publié un Article de la base de connaissances Ce problème s'applique à toutes les versions de Sitecore entre la version 7.0 et la version 9.3. Ce problème a été corrigé et n'est plus applicable aux versions 10 et supérieures de Sitecore.

2. Augmenter l'intervalleIntervalle asynchrone

En conjonction avec les instructions précédentes, il existe un réglage d'intervalle sur le Intervalle asynchrone Stratégie d'index avec une valeur par défaut de 5 secondes. Augmenter cet intervalle allongera la visibilité des nouveaux contenus publiés sur les serveurs de diffusion de contenu, mais permettra également une meilleure optimisation de l'environnement Solr grâce au traitement par lots des mises à jour d'index. 

Bien que Sitecore ne fournisse aucune recommandation spécifique pour ce cas, nous recommandons de définir cette valeur sur 2 minutes. En fonction de vos besoins en matière de publication de contenu, vous devrez peut-être ajuster cet intervalle pour l'adapter aux besoins de vos utilisateurs.

				
					<intervalAsyncMaster type="Sitecore.ContentSearch.Maintenance.Strategies.IntervalAsynchronousStrategy, Sitecore.ContentSearch" ...> <param desc="database">master</param> <param desc="interval">00:02:00</param> ... </intervalAsyncMaster>
				
			

3. Contrôler la fréquence des opérations de publication

De nombreux problèmes de performances de Solr sont causés par des opérations de publication fréquentes et constantes. Par exemple, si vous publiez toutes les secondes (soit 60 éléments par minute), Sitecore génère un commit Solr toutes les secondes, ce qui consomme énormément de ressources pour votre environnement Solr.

Cette recommandation peut impliquer un changement dans les comportements de création et de publication de contenu, ce qui pourrait rencontrer une certaine résistance au sein de votre organisation. 

Sitecore propose également de nombreuses façons de contrôler le processus de publication via le Service de publication de contenu SitecoreLe service de publication de contenu peut réduire considérablement les besoins de flux de travail de vos auteurs tout en optimisant l'expérience de publication sur les index et les bases de données.

4. Augmentez la valeur de ContentSearch.IndexUpdate.BatchSize

Un thème récurrent des trois premières recommandations concerne la façon dont Sitecore met à jour les index Solr par lots. Le traitement par lots est une pratique recommandée. Selon le type de contenu publié, une taille de lot adaptée peut entraîner des améliorations significatives des performances.

Plus précisément, nous parlons de ces deux paramètres liés à ContentSearch :

Les paramètres par défaut indiquent que nous allons placer 300 éléments dans un lot avant la mise à jour de l'index dans une approche multithread. Ce nombre peut sembler difficile à atteindre, sauf si l'on considère la présence de nombreux « éléments associés » et « sous-éléments », qui se multiplient facilement lorsqu'il s'agit d'éléments multilingues. Le nombre d'éléments publiés peut rapidement exploser, ce qui peut avoir des conséquences négatives sur les performances de Solr.

La modification de cette valeur ContentSearch doit être effectuée avec soin, et cette suggestion doit se concentrer sur la validation de votre BatchSize.

Pour le contenu où la quantité d'informations pour un élément est relativement faible (par exemple, un faible nombre de champs ou seulement quelques champs de texte enrichi), croissant la taille du lot peut entraîner de meilleures performances.

Pour les besoins de contenu où la quantité d'informations est très élevée ou où le document d'index d'un élément est très volumineux, l'augmentation de cette valeur peut avoir des impacts négatifs sur les performances d'indexation.

5. Réduisez ContentSearch.SearchMaxResults

Outre les optimisations pour l'indexation du contenu Sitecore dans Solr, certains paramètres peuvent également être optimisés pour améliorer les performances des requêtes de recherche. L'un de ces paramètres est appelé ContentSearch.SearchMaxResults.

<setting name="ContentSearch.SearchMaxResults" value="1000000" />

La valeur par défaut est de 1 000 000 de résultats pour chaque requête. Lorsqu'une requête est envoyée à Solr, cette instruction lui indique de lui envoyer 1 000 000 de résultats, ou lignes, comme indiqué dans la requête. Solr doit alors allouer de la mémoire pour stocker 1 000 000 de résultats. Ce problème survient lorsque ce paramètre est appliqué à chaque API de recherche de contenu demande de Sitecore à Solr, ce qui peut entraîner une surallocation de mémoire importante et une dégradation des performances sur le cluster Solr.

Réduire cette valeur à un nombre inférieur, tel que 10 000, améliorera considérablement les performances de votre cluster Solr et améliorera ainsi les performances de vos résultats de recherche.

L'inconvénient est que les résultats de recherche sont limités à 10 000 résultats, ce qui peut impacter l'expérience de recherche. Sitecore a publié un Article de la base de connaissances avec plus d'informations sur ce paramètre qui s'applique à toutes les versions de Sitecore 9.0 et supérieures.

En savoir plus sur les meilleures pratiques pour les performances de Solr

Outre les optimisations pour l'indexation du contenu Sitecore dans Solr, certains paramètres peuvent également être optimisés pour améliorer les performances des requêtes de recherche. L'un de ces paramètres est appelé ContentSearch.SearchMaxResults.

<setting name="ContentSearch.SearchMaxResults" value="1000000" />

La valeur par défaut est de 1 000 000 de résultats pour chaque requête. Lorsqu'une requête est envoyée à Solr, cette instruction lui indique de lui envoyer 1 000 000 de résultats, ou lignes, comme indiqué dans la requête. Solr doit alors allouer de la mémoire pour stocker 1 000 000 de résultats. Ce problème survient lorsque ce paramètre est appliqué à chaque API de recherche de contenu demande de Sitecore à Solr, ce qui peut entraîner une surallocation de mémoire importante et une dégradation des performances sur le cluster Solr.

Réduire cette valeur à un nombre inférieur, tel que 10 000, améliorera considérablement les performances de votre cluster Solr et améliorera ainsi les performances de vos résultats de recherche.

L'inconvénient est que les résultats de recherche sont limités à 10 000 résultats, ce qui peut impacter l'expérience de recherche. Sitecore a publié un Article de la base de connaissances avec plus d'informations sur ce paramètre qui s'applique à toutes les versions de Sitecore 9.0 et supérieures.

 

Parlez à un expert ou obtenez une démonstration de SearchStax Cloud

Laissez-nous résoudre les aspects techniques de votre infrastructure Solr pour Sitecore. SearchStax CloudNous nous efforçons de vous garantir une configuration Solr fiable, sécurisée et conforme. Créez des sauvegardes, configurez la reprise après sinistre et surveillez les performances de Solr grâce à des alertes, afin que vous puissiez vous concentrer sur des projets plus importants. Parlez à l'un de nos experts ou planifier une démo pour en savoir plus.

Par Pete Navarra

Vice-président, Solutions DXP

« …la recherche ne devrait pas être réservée uniquement aux organisations disposant de budgets de recherche massifs… »

Vous aimerez peut-être aussi :

fr_CAFrançais du Canada