L’évaluateur de prédicat en détail
Un évaluateur gère l’évaluation de certains prédicats qui constituent les contraintes définissant une requête.
Il mappe une contrainte de recherche de plus haut niveau (par exemple « largeur > 200 ») sur une requête JCR spécifique adaptée au modèle de contenu actuel (par exemple « métadonnées/@largeur > 200 »). Il peut également filtrer manuellement les nœuds et vérifier leurs contraintes.
PredicateEvaluator
et le package com.day.cq.search
, voir la documentation Java™.Mise en œuvre d’un évaluateur de prédicat personnalisé pour les métadonnées de réplication
En guise d’illustration, cette section décrit comment créer un évaluateur de prédicat personnalisé qui aide à évaluer les données en fonction des métadonnées de réplication :
-
cq:lastReplicated
qui stocke la date de la dernière action de réplication. -
cq:lastReplicatedBy
qui stocke l’ID de l’utilisateur qui a déclenché la dernière action de réplication. -
cq:lastReplicationAction
qui stocke la dernière action de réplication (par exemple, activation ou désactivation).
Requête sur les métadonnées de réplication avec les évaluateurs de prédicats par défaut
La requête suivante récupère la liste des nœuds dans la branche /content
qui a été activée par admin
depuis le début de l’année.
path=/content
1_property=cq:lastReplicatedBy
1_property.value=admin
2_property=cq:lastReplicationAction
2_property.value=Activate
daterange.property=cq:lastReplicated
daterange.lowerBound=2013-01-01T00:00:00.000+01:00
daterange.lowerOperation=>=
Cette requête est valide, mais peu lisible et ne met pas en évidence la relation entre les trois propriétés de réplication. La mise en œuvre d’un évaluateur de prédicat personnalisé réduit la complexité et améliore la sémantique de cette requête.