2017-04-02 4 views
0

A partir de documents AEM, je peux comprendre comment écrire des requêtes pour la recherche de contenu Aem, mais comment fonctionne la fonction de recherche dans AEM? Quel bundle ou framework fait la magie de chercher le contenu et de le présenter. Comment le contenu interne est-il traversé lorsque j'utilise des requêtes de recherche?Fonctionnement de la fonction de recherche dans AEM

Répondre

1

AEM utilise des index OAK pour implémenter le moteur de recherche. Le référentiel AEM est une base de données et comme toutes les autres bases de données, il a besoin d'index pour effectuer des recherches rapides. Vous pouvez en savoir plus sur: https://docs.adobe.com/docs/en/aem/6-2/deploy/platform/queries-and-indexing.html

En général, vous définissez des index (dans le cas où les index OOTB ne sont pas suffisants) sous/oak: indexes node. Ces index, au sens large, contiennent la liste des propriétés et la nature (async, texte intégral, propriété, règles lexicales) de l'index et le chemin à indexer (ou à exclure de l'index). AEM génère un grand nombre de données d'index lucene dans votre référentiel et votre magasin de données et est utilisé pour rechercher rapidement les nœuds pour vos requêtes. Chaque fois qu'une requête est lancée, l'instance AEM parcourt les index et trouve l'index qui fournira les résultats avec le moins de coût de traversée. Si aucun index de ce type n'est trouvé, il aura recours à la traversée de nœud, qui est normalement mauvaise pour les performances, mais a des utilisations limitées de casse.

Vous pouvez intégrer Solr et ElasticSearch à votre instance AEM pour utiliser d'autres fonctionnalités avancées, mais ce n'est qu'une extension du moteur intégré.

Rechercher et promouvoir (qui est plus d'une recherche externe) n'est pas liée à l'index interne et ressemble plus à un crawler de site.

Les requêtes et les recherches étant un sujet très vaste, je vous suggère de lire cette réponse sous forme de résumé et vous trouverez plus de détails à partir du lien ci-dessus.