Guide de mise en oeuvre de recherche simple

L’implémentation de la recherche simple est le matériel de laboratoire d’Adobe Summit AEM recherche Demystified. Cette page contient les matériaux de ce laboratoire. Pour une visite guidée du laboratoire, consultez le classeur du laboratoire dans la section Présentation de cette page.

Présentation de l’architecture de recherche

Documents de présentation

Signets

Outils

Chapitres

Les liens de chapitre ci-dessous supposent que les modules initiaux sont installés sur l’auteur AEM à l’adressehttp://localhost:4502

Modules

Packages initiaux

Packages de chapitre

Documents référencés

Corrections et suivi

Corrections et clarifications des discussions de laboratoire et réponses aux questions de suivi des participants.

  1. Comment arrêter la réindexation ?

    La réindexation peut être arrêtée via le MBean IndexStats disponible via AEM Console web > 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 y être descendant.
    • Les index à portée plus large (par exemple /oak:index/cqPageLucene) indexent ÉGALEMENT les données, ce qui entraîne l’ingestion en double et le coût d’utilisation du disque.
    • Peut nécessiter une gestion de la configuration en double (ex. l’ajout du même indexRules sur plusieurs index client s’ils doivent satisfaire les mêmes jeux de requêtes)
    • Cette approche est mieux servie sur le niveau Publication AEM pour une recherche de site personnalisée, car sur l’auteur AEM, il est courant que les requêtes soient exécutées en hauteur dans 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-fournit à utiliser dans AEM.

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

    La nouvelle version d’AEM 6.3 est la possibilité de rechercher plusieurs types de noeuds 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. Dans cet exemple, la sous-requête cq:Page est donc résolue sur /oak:index/cqPageLucene et la sous-requête dam:Asset correspond à /oak:index/damAssetLucene.

    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
    

    génère le plan de requête et de requête suivant :

    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 QueryBuilder Debugger et AEM Module externe Chrome.

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

    La nouvelle version d’AEM 6.3 est 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.

    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
    

    entraîne le plan de requête et de requête suivant :

    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 QueryBuilder Debugger et AEM Module externe Chrome.

Sur cette page