Guide de mise en œuvre de la recherche simple simple-search-implementation-guide

La mise en œuvre de recherche simple est le thème du Lab Adobe Summit AEM Search Demystified. Cette page contient les éléments de ce Lab. Pour une visite guidée du Lab, consultez le classeur du Lab dans la section Présentation de cette page.

Vue d’ensemble de l’architecture de recherche.

Documents de présentation bookmarks

Signets bookmarks-1

Outils tools

Chapitres chapters

Les liens de chapitre ci-dessous supposent que les Packages initiaux sont installés sur l’instance de création d’AEM surhttp://localhost:4502.

Packages packages

Packages initiaux initial-packages

Chapitre Packages chapter-packages

Documents référencés reference-materials

Corrections et suivi corrections-and-follow-up

Corrections et clarifications des discussions sur le Lab et réponses aux questions de suivi des participantes et des participants.

  1. Comment arrêter la réindexation ?

    La réindexation peut être arrêtée via le MBean IndexStats disponible sur la Console web AEM > JMX.

  2. Comment les index Oak peuvent-ils prendre en charge plusieurs clients ?

    Oak prend en charge le placement d’index dans l’arborescence de contenu, et ces index ne s’indexent que dans cette sous-arborescence. Par exemple, /content/site-a/oak:index/cqPageLucene peut être créé pour indexer le contenu uniquement sous /content/site-a.

    Une approche équivalente consiste à utiliser les propriétés includePaths et queryPaths sur un index sous /oak:index. Par exemple :

    • /oak:index/siteAcqPageLucene@includePaths=/content/site-a
    • /oak:index/siteAcqPageLucene@queryPaths=/content/site-a

    Cette approche doit tenir compte des points suivants :

    • Les requêtes DOIVENT spécifier une restriction de chemin égale à la portée du chemin de requête de l’index, ou en être descendant.
    • Les index au périmètre large (par exemple, /oak:index/cqPageLucene) vont AUSSI indexer les données, ce qui entraîne l’ingestion en double et le coût d’utilisation du disque.
    • Cela peut nécessiter une gestion de la configuration en double (par exemple, l’ajout des mêmes indexRules sur plusieurs index clients s’ils doivent satisfaire les mêmes jeux de requêtes).
    • Cette approche est mieux adaptée au niveau de publication d’AEM pour une recherche de site personnalisée, car sur le niveau de création d’AEM, il est courant que les requêtes soient exécutées dans le haut de l’arborescence de contenu pour différents clients (par exemple, via OmniSearch). Différentes définitions d’index peuvent entraîner un comportement différent uniquement en fonction de la restriction de chemin d’accès.
  3. Où est la liste de tous les analyseurs disponibles ?

    Oak expose un ensemble d’éléments de configuration de l’analyseur Lucene fourni pour une utilisation dans AEM.

  4. Comment rechercher des pages et des ressources dans la même requête ?

    La nouvelle version d’AEM 6.3 inclut la possibilité de rechercher plusieurs types de nœuds dans la même requête fournie. Requête QueryBuilder suivante. Notez que chaque « sous-requête » peut se résoudre par son propre index. Par conséquent, dans cet exemple, la cq:Pagesous-requête est résolue sur /oak:index/cqPageLucene et la sous-requête dam:Asset est résolue sur /oak:index/damAssetLucene.

    code language-plain
    group.p.or=true
    group.1_group.type=cq:Page
    # add all page restrictions to this group
    group.2_group.type=dam:Asset
    # add all asset restrictions to this group
    

    Cela génère la requête et le plan de requête suivants :

    code language-plain
    QUERY:(//element(*, cq:Page) | //element(*, dam:Asset))
    
    PLAN: [cq:Page] as [a] /* lucene:cqPageLucene(/oak:index/cqPageLucene) *:* */ union [dam:Asset] as [a] /* lucene:damAssetLucene(/oak:index/damAssetLucene) *:* */
    

    Explorez la requête et les résultats via le Débogueur QueryBuilder et le Module externe Chrome AEM.

  5. Comment effectuer une recherche sur plusieurs chemins dans la même requête ?

    La nouvelle version d’AEM 6.3 inclut la possibilité d’effectuer des requêtes sur plusieurs chemins dans la même requête fournie. Requête QueryBuilder suivante. Notez que chaque « sous-requête » peut se résoudre par son propre index.

    code language-plain
    group.p.or=true
    group.1_group.type=cq:Page
    group.1_group.path=/content/docs/en/6-2
    # add all page restrictions to this group
    group.2_group.type=cq:Page
    group.2_group.path=/content/docs/en/6-3
    # add all asset restrictions to this group
    

    Cela génère la requête et le plan de requête suivants :

    code language-plain
    QUERY: (/jcr:root/content/docs/en/_x0036_-2//element(*, cq:Page) | /jcr:root/content/docs/en/_x0036_-3//element(*, cq:Page))
    
    PLAN: [cq:Page] as [a] /* traverse "/content/docs/en/6-2//*" where isdescendantnode([a], [/content/docs/en/6-2]) */ union [cq:Page] as [a] /* traverse "/content/docs/en/6-3//*" where isdescendantnode([a], [/content/docs/en/6-3]) */
    

    Explorez la requête et les résultats via le Débogueur QueryBuilder et le Module Chrome AEM.

recommendation-more-help
bb44cebf-d964-4e3c-b64e-ce882243fe4d