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.
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.
-
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.
-
- Exécutez
abortAndPause()
pour abandonner la réindexation. L’index sera ainsi verrouillé pour effectuer une nouvelle réindexation jusqu’à ce que la fonctionresume()
soit appelée. - L’exécution de
resume()
redémarre le processus d’indexation.
- Exécutez
-
Documentation : https://jackrabbit.apache.org/oak/docs/query/indexing.html#async-index-mbean.
-
-
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
etqueryPaths
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.
-
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.
-
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:Page
sous-requête est résolue sur/oak:index/cqPageLucene
et la sous-requêtedam: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.
-
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.