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.

REMARQUE
Pour plus d’informations sur l’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.