L’index géré par SIM n’est pas sélectionné pour les requêtes dans AEM as a Cloud Service

Dans Adobe Experience Manager as a Cloud Service, une définition de gestion simplifiée des index (SIM) peut être déployée avec succès tandis que les requêtes continuent à utiliser un index précédent. Le planificateur de requêtes évalue les index éligibles en fonction des restrictions de requête, des propriétés indexées et du coût estimé. Pour corriger ce problème, vérifiez le plan de déploiement et de requête, alignez les règles de includedPaths, de queryPaths et d’index avec les exigences de requête, déployez les modifications via Cloud Manager et validez les requêtes une fois l’indexation terminée.

Description description

Environnement

Adobe Experience Manager as a Cloud Service avec gestion simplifiée des index

Problème/Symptômes

Après avoir déployé une définition de gestion d’index simplifiée, les requêtes continuent à utiliser un index précédent au lieu de l’index géré par SIM prévu.

  • Les requêtes continuent à utiliser un index précédent, tel que cqPageLucene, au lieu de l’index prévu, tel que cqPageContent.
  • L’index géré par SIM apparaît dans le référentiel, mais le outil de performance des requêtes ne le sélectionne pas pour les requêtes pertinentes.
  • La définition d’index contient includedPaths et queryPaths, mais la requête utilise toujours l’index précédent.
  • Les propriétés de requête requises ne sont pas incluses dans les règles d’index gérées par SIM.
  • Aucun message d’erreur spécifique ne s’affiche dans les journaux.

Cause

Le planificateur de requêtes sélectionne l’index éligible dont le coût estimé est le plus faible. Si l’index géré par SIM ne couvre pas le chemin de requête ou les propriétés requises, ou si son coût estimé est supérieur à celui de l’index précédent, la requête continue à utiliser l’index précédent.

Résolution resolution

Pour résoudre les problèmes de sélection de l’index, procédez comme suit :

  1. Exécutez la requête concernée dans l’outil de performance des requêtes et consultez la sortie Expliquer la requête .

    • Confirmez l’index utilisé par la requête.
    • Vérifiez si l’index géré par SIM prévu est pris en compte par le plan de requête.
    • Enregistrez le plan de requête et les coûts estimés pour la comparaison après avoir mis à jour la définition d’index.
  2. Vérifiez que la définition SIM est correctement déployée.

    • Vérifiez que la définition SIM est incluse dans la base de code du projet.
    • Vérifiez que le pipeline s’est terminé correctement.
    • Utilisez Repository Browser pour vérifier que la définition d’index générée, telle que /oak:index/<sim-index-name>, existe avec la configuration attendue.
  3. Vérifiez la configuration du chemin d’accès dans la définition d’index.

    • Vérifiez que includedPaths couvre le contenu que l’index doit contenir.
    • Vérifiez que queryPaths couvre les restrictions de chemin d’accès utilisées par la requête.
    • Utilisez des valeurs correspondantes pour includedPaths et queryPaths lorsque l’index doit contenir et servir des requêtes pour la même portée de contenu.
    • Remarque : includedPaths contrôle la portée du contenu indexé, tandis que queryPaths affecte l’éligibilité de l’index à une requête avec une restriction de chemin d’accès correspondante.
  4. Examinez les règles et propriétés d’index requises par la requête.

    • Vérifiez que chaque propriété utilisée par la requête est indexée dans la règle d’index appropriée.
    • Vérifiez les propriétés telles que jcr:content/cq:lastModified, excludeSearch et hideFromExternalUser lorsque la requête les utilise.
    • Si une propriété requise est manquante, ajoutez la règle d’index appropriée à la définition de la carte SIM et redéployez-la via le pipeline .
  5. Déployez la définition d’index mise à jour via le pipeline standard.

    • Regroupez la définition d’index mise à jour dans le code de base du projet.
    • Exécutez le pipeline et attendez la fin du processus de création ou de réindexation de l’index.
    • Vérifiez le statut d’indexation sur la page de version de Cloud Manager avant de valider à nouveau la requête.
  6. Validez le comportement de la requête une fois l’indexation terminée.

    • Exécutez à nouveau la requête concernée dans l’outil de performance de requête.
    • Vérifiez que l’index géré par SIM prévu est sélectionné dans la sortie Expliquer la requête .
    • Testez un ensemble représentatif de requêtes à fort impact.
    • Comparez les résultats et le classement avant et après la migration, en particulier pour les requêtes avec des champs amplifiés tels que le titre, la description et le contenu.
    • Utilisez l’outil Query Performance Tool pour vérifier les régressions de performances.
  7. Supprimez les définitions d’index obsolètes de la base de code du projet après avoir validé le nouvel index géré par SIM.

    • Ne supprimez pas manuellement les nœuds d’index du référentiel.
    • Remarque : les anciennes et les nouvelles versions d’index peuvent coexister temporairement pendant un déploiement en continu pendant qu’AEM as a Cloud Service prépare la nouvelle version.

Remarques :

  • SIM est recommandé pour les index de page, de gestion des ressources numériques et d’audit. La migration n’est pas obligatoire lorsqu’un index existant répond à vos besoins et reste pris en charge.
  • Pour les index sans chemins de requête personnalisés, tels que Audit Event ou un Email Index personnalisé, incluez-les dans la configuration de migration uniquement lorsque vous avez l’intention de migrer leurs requêtes vers SIM.
  • Migrez les index personnalisés vers SIM lorsque la prise en charge continue et la compatibilité future sont requises.

Lecture connexe

recommendation-more-help
experience-cloud-kcs-help-kbarticles