Alerte « Requête sans index détecté » pour un index Oak personnalisé dans Adobe Experience Manager as a Cloud Service

Cet article explique comment résoudre les alertes « Requête sans index détecté » dans Adobe Experience Manager as a Cloud Service en validant et en mettant à jour les définitions d’index Oak personnalisées pour s’assurer que les requêtes utilisent l’index prévu au lieu de revenir au parcours.

Description description

Environnement

Adobe Experience Manager as a Cloud Service (toutes versions)

Problème/Symptômes

  • Une requête SQL-2 personnalisée dans AEM déclenche une alerte Requête sans index détecté lors du déploiement d’un nouvel index Oak personnalisé.

  • La requête comprend :

    • Type de nœud : cq:Page
    • Restriction de chemin d’accès sous un chemin de contenu spécifique, tel que /content/.../news
    • Filtre : jcr:content/cq:tags
    • Trier : jcr:content/publishedDate par ordre décroissant
    • Balise d’index explicite : customNewsLucene
  • La requête ressemble à ce qui suit :

select [ jcr:path] , [ jcr:score] , * from [ cq:Page]  as a
where [ jcr:content/cq:tags]  = '/news'
order by [ jcr:content/publishedDate]  desc
option(index tag [ customNewsLucene] )
  • L’alerte indique qu’aucun index Oak/Lucene ne peut répondre à la fois aux restrictions de propriété et à l’ordre de tri défini dans la requête.
  • Par conséquent, Oak retourne au parcours transversal, ce qui peut avoir un impact négatif sur les performances des requêtes.

Cause

L’alerte « Requête sans index détecté » se produit lorsque les conditions de filtrage et de tri d’une requête ne sont pas entièrement satisfaites par tout index Oak/Lucene disponible. Cela peut se produire si l’index personnalisé n’est pas encore déployé, n’est pas entièrement disponible ou ne correspond pas aux exigences de la requête.

Résolution resolution

Suivez les étapes ci-dessous pour résoudre le problème :

  1. Ouvrez AEM as a Cloud Service Developer Console et utilisez l’outil Query Performance Tool.

  2. Exécutez la requête concernée ou sélectionnez Expliquer pour voir quel index est sélectionné.

  3. Si la requête n’utilise pas l’index personnalisé prévu ou si le plan affiche une traversée, passez en revue la définition d’index personnalisé. Assurez-vous qu’il prend en charge les exigences de la requête :

    • Type de nœud : cq:Page
    • Restriction de propriété : jcr:content/cq:tags
    • Propriété ordonnée : jcr:content/publishedDate, pour le tri décroissant
    • Restriction de chemin d’accès : chemin d’accès au contenu approprié, par exemple /content/.../news
    • Balise d’index : customNewsLucene, correspondant à la balise d’index explicite de la requête
  4. Déployez la définition d’index mise à jour via Cloud Manager. Attendez la fin de la mise à jour de l’indexation avant de vérifier la requête.

  5. Utilisez l’outil Performances des requêtes pour confirmer que le plan d’exécution utilise l’index personnalisé prévu, gère les restrictions et l’ordre des requêtes et n’affiche pas la traversée.

  6. Si vous le souhaitez, surveillez la requête dans le Centre de maintenance pendant quelques jours afin de vérifier si de nouvelles alertes Requête sans index détecté s’affichent pour elle.

  7. Pour les futures modifications d’index, validez-les dans un environnement inférieur avant le déploiement en production. Utilisez la fonction Expliquer de l’outil Performance des requêtes pour confirmer la sélection de l’index.

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