Groupe de prédicats racine. Il prend en charge toutes les fonctionnalités d’un groupe et permet de définir des paramètres de requête globaux.
Le nom « root » n’est jamais utilisé dans une requête ; il est implicite.
p.offset
– Nombre indiquant le début de la page de résultats, c’est-à-dire le nombre d’éléments à ignorer.p.limit
– Nombre indiquant la taille de la page.p.guessTotal
– Recommandé : évite de calculer le total des résultats, une opération qui peut s’avérer fastidieuse. Il s’agit soit d’un nombre qui indique la limite de comptage maximale (par exemple 1 000, un nombre qui offre aux utilisateurs et utilisatrices suffisamment d’informations sur la taille approximative et des valeurs exactes pour des résultats plus petits), soit de true
pour compter seulement jusqu’au minimum requis, p.offset
+p.limit
.p.excerpt
– Si la valeur est définie sur true
, l’extrait de texte complet est inclus dans les résultats.p.indexTag
- si la valeur est définie, une option de balise d’index est incluse dans la requête (voir Balise d’index d’option de requête).p.facetStrategy
- si la valeur est définie sur oak
, Query Builder délègue l’extraction des facettes à Oak (voir Facettes).p.hits
– (Uniquement pour le servlet JSON) sélectionne la manière dont les accès sont écrits au format JSON, avec ces éléments standard (extensibles via le service ResultHitWriter).
simple
– Éléments minimaux tels que path
, title
, lastmodified
, excerpt
(s’ils sont définis).full
– Rendu JSON Sling du nœud, avec jcr:path
qui indique le chemin de l’accès. Par défaut, seules les propriétés directes du nœud sont répertoriées, inclure une arborescence plus profonde avec p.nodedepth=N
, 0 signifiant l’ensemble de la sous-arborescence infinie. Ajoutez p.acls=true
pour inclure les autorisations JCR de la session en cours sur l’élément de résultat donné (mappages : create
=add_node
, modify
=set_property
, delete
=remove
).selective
– Uniquement les propriétés spécifiées dans p.properties
, qui est une liste séparée par des espaces (utilisez +
dans les URL) des chemins relatifs. Si le chemin relatif a une profondeur de >1
, ces propriétés sont représentées sous la forme d’objets enfants. La propriété spéciale jcr:path
inclut le chemin d’accès de l’accès.Ce prédicat permet de créer des conditions imbriquées. Les groupes peuvent contenir des groupes imbriqués. Tout le contenu d’une requête Query Builder se trouve implicitement dans un groupe racine qui peut également posséder des paramètres p.or
et p.not
.
Voici un exemple de correspondance entre l’une ou l’autre des deux propriétés et une valeur :
group.p.or=true
group.1_property=jcr:title
group.1_property.value=My Page
group.2_property=navTitle
group.2_property.value=My Page
D’un point de vue conceptuel, (1_property
OU 2_property)
.
Voici un exemple pour les groupes imbriqués :
fulltext=Management
group.p.or=true
group.1_group.path=/content/wknd/ch/de
group.1_group.type=cq:Page
group.2_group.path=/content/dam/wknd
group.2_group.type=dam:Asset
Le terme Management est recherché dans des pages sous /content/wknd/ch/de
ou dans des ressources sous /content/dam/wknd
.
D’un point de vue conceptuel, il s’agit de fulltext AND ( (path AND type) OR (path AND type) )
. De telles jointures OU nécessitent de bons index pour des raisons de performances.
p.or
– Si défini sur true
, un seul prédicat du groupe doit correspondre. La valeur par défaut est false
, ce qui signifie que tout doit correspondrep.not
– Si défini sur true
, le groupe est annulé (la valeur par défaut est false
).<predicate>
– ajoute des prédicats imbriquésN_<predicate>
– ajoute plusieurs prédicats imbriqués simultanément, comme 1_property, 2_property, ...
Ce prédicat permet de trier les résultats. Si un classement basé sur plusieurs propriétés est requis, ce prédicat doit être ajouté plusieurs fois à l’aide du préfixe numérique, tel que 1_orderby=first
, 2_oderby=second
.
orderby
– Nom de propriété JCR indiqué par un caractère @ initial, par exemple @jcr:lastModified
ou @jcr:content/jcr:title
, ou un autre prédicat dans la requête, par exemple 2_property
, sur la base duquel le tri doit être effectué.sort
– Sens du tri, soit desc
pour décroissant, soit asc
pour croissant (valeur par défaut).case
– Si cette valeur est définie sur ignore
, le tri ne respecte pas la casse, ce qui signifie que a
vient avant B
; si cette valeur est vide ou ignorée, le tri respecte la casse, ce qui signifie que B
vient avant a
Ce prédicat met en correspondance des propriétés booléennes JCR. Accepte uniquement les valeurs true
et false
. Si la valeur est false
, elle correspond si la propriété a la valeur false
, ou si elle n’existe pas du tout. Ce prédicat s’avère utile pour rechercher des indicateurs booléens qui sont définis uniquement lorsqu’ils sont activés.
Le paramètre operation
hérité n’a aucune signification.
Ce prédicat prend en charge l’extraction des facettes et fournit des intervalles pour chaque valeur true
ou false
, mais uniquement pour les propriétés existantes.
boolproperty
– Chemin d’accès relatif à la propriété ; par exemple, myFeatureEnabled
ou jcr:content/myFeatureEnabled
value
– Valeur dont la propriété doit être vérifiée : true
ou false
Ce prédicat limite le résultat aux fragments de contenu.
contentfragment
– Peut être utilisé avec n’importe quelle valeur pour rechercher des fragments de contenu.dateComparison
Ce prédicat compare entre elles deux propriétés de date JCR. Il peut tester si elles sont égales, inégales, supérieures ou supérieures ou égales.
Un prédicat de filtrage uniquement et qui ne peut pas utiliser d’index de recherche.
property1
– Chemin d’accès à la première propriété dateproperty2
– Chemin d’accès à la deuxième propriété dateoperation
=
pour la correspondance exacte (par défaut)!=
pour la comparaison des inégalités>
pour property1
supérieur à property2
>=
pour property1
supérieur ou égal à property2
Ce prédicat met en correspondance les propriétés de date JCR par rapport à un intervalle de date/heure. Il utilise le format ISO8601 pour les dates et heures (YYYY-MM-DDTHH:mm:ss.SSSZ
) et autorise les représentations partielles, comme YYYY-MM-DD
. Vous pouvez également fournir l’horodatage au format POSIX.
Vous pouvez rechercher tout ce qui se trouve entre deux horodatages, un élément plus récent ou plus ancien qu’une date donnée, et également choisir entre des intervalles inclusifs et ouverts.
Il prend en charge l’extraction des facettes et fournit des intervalles today
, this week
, this month
, last 3 months
, this year
, last year
et earlier than last year
.
Il ne prend pas en charge le filtrage.
property
– Chemin d’accès relatif à une propriété DATE
; par exemple, jcr:lastModified
lowerBound
– Limite de date inférieure pour laquelle la propriété doit être vérifiée ; par exemple, 2014-10-01
lowerOperation
– >
(plus récent) ou >=
(à cette date ou plus récent) ; applicable à lowerBound
. La valeur par défaut est de >
upperBound
– Limite supérieure pour laquelle la propriété doit être vérifiée ; par exemple, 2014-10-01T12:15:00
upperOperation
– <
(antérieur) ou <=
(à cette date ou antérieur) ; applicable à upperBound
. La valeur par défaut est de <
timeZone
– ID du fuseau horaire à utiliser lorsqu’il n’est pas indiqué sous la forme d’une chaîne de date ISO-8601. La valeur par défaut est le fuseau horaire par défaut du système.Ce prédicat exclut des nœuds du résultat lorsque leur chemin d’accès correspond à une expression régulière.
Un prédicat de filtrage uniquement et qui ne peut pas utiliser d’index de recherche.
Il ne prend pas en charge l’extraction de facettes.
excludepaths
– Expression régulière comparée à des chemins de résultat, en excluant les correspondances du résultat.Il recherche des termes dans l’index en texte intégral.
Il ne prend pas en charge le filtrage.
Il ne prend pas en charge l’extraction de facettes.
fulltext
– Termes de recherche en texte intégralrelPath
– Chemin d’accès relatif devant faire l’objet d’une recherche dans la propriété ou le sous-nœud. Cette propriété est facultative.Ce prédicat limite les résultats aux éléments dont la session en cours possède les privilèges JCR spécifiés.
Un prédicat de filtrage uniquement et qui ne peut pas utiliser d’index de recherche. Il ne prend pas en charge l’extraction de facettes.
hasPermission
– Tous les privilèges JCR séparés par des virgules qui doivent être associés à la session d’utilisation en cours pour le nœud en question. Par exemple, jcr:write
, jcr:modifyAccessControl
.Ce prédicat identifie des pages AEM dans une langue spécifique. Il examine à la fois la propriété de langue de la page et le chemin d’accès à la page qui inclut souvent la langue ou les paramètres régionaux dans une structure de site de niveau supérieur.
Un prédicat de filtrage uniquement et qui ne peut pas utiliser d’index de recherche.
Il prend en charge l’extraction des facettes et fournit des intervalles pour chaque code de langue unique.
language
– Code de langue ISO ; par exemple, de
Ce prédicat vérifie si un nœud est une ressource DAM principale et non une sous-ressource. Il s’agit, en fait, de tout nœud qui ne se trouve pas à l’intérieur d’un nœud de sous-ressources. Il ne vérifie pas letype de nœud dam:Asset
. Pour utiliser ce prédicat, définissez mainasset=true
ou mainasset=false
. Il n’y a pas d’autres propriétés.
Un prédicat de filtrage uniquement et qui ne peut pas utiliser d’index de recherche.
Il prend en charge l’extraction des facettes et fournit deux intervalles pour les ressources principales et secondaires.
mainasset
– Booléen, true
pour les ressources principales, false
pour les sous-ressourcesCe prédicat recherche les éléments membres d’une collection de ressources Sling spécifique.
Un prédicat de filtrage uniquement et qui ne peut pas utiliser d’index de recherche.
Il ne prend pas en charge l’extraction de facettes.
memberOf
– Chemin d’accès à la collection de ressources SlingCe prédicat met en correspondance des noms de nœud JCR.
Il prend en charge l’extraction des facettes et fournit des intervalles pour chaque nom de nœud unique (nom de fichier).
nodename
– Modèle de nom de nœud qui autorise les caractères génériques : *
= n’importe quel caractère, ou aucun, ?
= n’importe quel caractère, [abc]
= uniquement les caractères entre crochetsCe prédicat met en correspondance des éléments en vérifiant si une propriété de date JCR est supérieure ou égale à l’heure actuelle du serveur. Vous pouvez l’utiliser pour vérifier une valeur expiresAt
et limiter les résultats à celles qui n’ont pas encore atteint le délai d’expiration (notexpired=true
) ou qui ont déjà atteint le délai d’expiration (notexpired=false
).
Il ne prend pas en charge le filtrage.
Il prend en charge l’extraction de facettes de la même manière que le prédicat daterange
.
notexpired
– Booléen, true
pour les propriétés qui n’ont pas encore atteint le délai d’expiration (date future ou égale à celle indiquée), false
pour les propriétés qui ont atteint le délai d’expiration (date dans le passé) (obligatoire)property
– Chemin d’accès relatif à la propriété DATE
à vérifier (obligatoire)Ce prédicat effectue une recherche dans un chemin donné.
Il ne prend pas en charge l’extraction de facettes.
path
– Définit le modèle de chemin.
exact
, il existe une correspondance avec l’ensemble de la sous-arborescence (comme l’ajout de //*
dans xpath, mais sans englober le chemin de base), ou seulement une correspondance avec le chemin exact, avec la possibilité d’inclure des caractères génériques (*
).
true
.self
est définie, une recherche est appliquée à l’ensemble de la sous-arborescence, y compris le nœud de base.—>exact
: si la propriété exact
est définie sur true
, le chemin d’accès exact doit correspondre, mais il peut contenir des caractères génériques simples (*
), qui correspondent aux noms, mais pas /
; si elle est définie sur false
(par défaut) tous les descendants sont inclus (facultatif).flat
– Effectue uniquement des recherches dans les enfants directs (ce qui revient à ajouter /*
dans xpath) (utilisé uniquement si exact
n’est pas défini sur « true », facultatif).self
– Effectue des recherches dans la sous-arborescence, mais inclut le nœud de base indiqué comme chemin d’accès (pas de caractères génériques).
self
dans l’implémentation actuelle de Query Builder et son utilisation dans les requêtes peut ne pas retourner des résultats de recherche corrects. Il n’est pas non plus possible de modifier l’implémentation actuelle de la propriété self
, car cela pourrait interrompre l’exécution des applications existantes qui reposent dessus. En raison de cette fonctionnalité, la propriété self
a été abandonnée et il est recommandé d’éviter de l’utiliser.Ce prédicat met en correspondance des propriétés JCR et leurs valeurs.
Il prend en charge l’extraction des facettes et fournit des intervalles pour chaque valeur de propriété unique dans les résultats.
property
– Chemin d’accès relatif à une propriété ; par exemple, jcr:title
.value
– Valeur dont la propriété doit être vérifiée ; suit le type de propriété JCR pour les conversions de chaînes.N_value
– Utilisez 1_value
, 2_value
, etc. pour vérifier plusieurs valeurs (combinées avec OR
par défaut, avec AND
si and=true
).and
– défini sur true
pour la combinaison de plusieurs valeurs (N_value
) avec AND
operation
equals
pour la correspondance exacte (par défaut).unequals
pour la comparaison des inégalités.like
pour utiliser la fonction xpath jcr:like
(facultatif).not
pour l’absence de correspondance (par exemple, not(@prop)
dans xpath, le paramètre de valeur est ignoré).exists
pour une vérification d’existence.
true
la propriété doit exister.false
est identique à not
et est la valeur par défaut.depth
– Nombre de niveaux de caractères génériques sous lesquels le chemin d’accès relatif/la propriété peut exister (par exemple, property=size depth=2
vérifie node/size
, node/*/size
et node/*/*/size
).Ce prédicat met en correspondance une propriété JCR par rapport à un intervalle. Il s’applique à des propriétés de type linéaire telles que LONG
, DOUBLE
et DECIMAL
. Pour DATE
, reportez-vous au prédicat daterange
qui présente une entrée de format de date optimisée.
Vous pouvez définir une limite inférieure, une limite supérieure ou les deux. L’opération (par exemple, inférieure, ou inférieure à ou égale à) peut également être spécifiée individuellement pour les limites inférieure et supérieure.
Il ne prend pas en charge l’extraction de facettes.
property
– Chemin d’accès relatif à la propriétélowerBound
– Limite inférieure pour laquelle la propriété doit être vérifiéelowerOperation
– >
(par défaut) ou >=
, s’applique à lowerValue
upperBound
– Limite supérieure pour laquelle la propriété doit être vérifiéeupperOperation
– <
(par défaut) ou <=
, s’applique à lowerValue
decimal
– true
si la propriété vérifiée est de type DécimalCe prédicat met en correspondance les propriétés JCR DATE
par rapport à un intervalle de date/heure à l’aide de décalages temporels relatifs à l’heure actuelle du serveur. Vous pouvez spécifier lowerBound
et upperBound
en utilisant une valeur en millisecondes ou la syntaxe Bugzilla 1s 2m 3h 4d 5w 6M 7y
(une seconde, deux minutes, trois heures, quatre jours, cinq semaines, six mois, sept ans). Préfixe avec -
pour indiquer un décalage négatif avant l’heure actuelle. Si vous spécifiez uniquement lowerBound
ou upperBound
, l’autre propriété est définie par défaut sur 0
, ce qui signifie l’heure actuelle.
Par exemple :
upperBound=1h
(et pas de lowerBound
) sélectionne n’importe quel horaire dans l’heure suivante.lowerBound=-1d
(et pas de upperBound
) sélectionne n’importe quel horaire dans les dernières 24 heures.lowerBound=-6M
et upperBound=-3M
sélectionne n’importe quelle date au cours des 3 à 6 derniers moislowerBound=-1500
Et upperBound=5500
sélectionne tout moment se trouvant entre 1 500 millisecondes et 5 500 millisecondes dans le futur.lowerBound=1d
et upperBound=2d
sélectionne tout moment postérieur au lendemainIl ne tient pas compte des années bissextiles et tous les mois comptent 30 jours.
Il ne prend pas en charge le filtrage.
Il prend en charge l’extraction de facettes de la même manière que le prédicat daterange
.
upperBound
– Limite de date supérieure en millisecondes ou 1s 2m 3h 4d 5w 6M 7y
(une seconde, deux minutes, trois heures, quatre jours, cinq semaines, six mois, sept ans) par rapport à l’heure actuelle du serveur ; utilisez -
pour un décalage négatiflowerBound
– Limite de date inférieure en millisecondes ou 1s 2m 3h 4d 5w 6M 7y
(une seconde, deux minutes, trois heures, quatre jours, cinq semaines, six mois, sept ans) par rapport à l’heure actuelle du serveur ; utilisez -
pour un décalage négatifCe prédicat inclut tous les prédicats d’une requête Query Builder persistante dans la requête actuelle sous la forme d’un prédicat de sous-groupe.
Il n’exécute pas de requête supplémentaire, mais étend la requête actuelle.
Les requêtes peuvent être conservées par programmation à l’aide de QueryBuilder#storeQuery()
. Ce format peut être soit une propriété String
multiligne, soit un nœud nt:file
contenant la requête en tant que fichier texte au format des propriétés Java™.
Il ne prend pas en charge l’extraction de facettes pour les prédicats de la requête enregistrée.
savedquery
– Chemin d’accès à la requête enregistrée (propriété String
ou nœud nt:file
)Ce prédicat est une recherche de similarité effectuée à l’aide de rep:similar()
en langage XPath JCR.
Il ne prend en charge ni le filtrage ni l’extraction des facettes.
similar
– Chemin d’accès absolu au nœud pour lequel des nœuds similaires sont recherchéslocal
– Un chemin relatif vers un nœud descendant ou .
pour le nœud actif (facultatif, la valeur par défaut est .
)Le prédicat recherche du contenu identifié avec une ou plusieurs balises, en spécifiant les chemins d’accès aux titres des balises.
Il prend en charge l’extraction des facettes et fournit des intervalles pour chaque balise unique, en utilisant leur chemin d’accès actuel au titre de la balise.
tag
– Chemin d’accès au titre de la balise à rechercher, par exemple properties:orientation/landscape
N_value
– Utilisez 1_value
, 2_value
, … pour vérifier plusieurs balises (combinées avec OR
par défaut, avec AND
si and=true
)property
– Propriété (ou chemin d’accès relatif à la propriété) à examiner (par défaut : cq:tags
)Ce prédicat recherche du contenu identifié avec une ou plusieurs balises, en spécifiant les chemins d’accès aux titres des balises.
Il prend en charge l’extraction des facettes et fournit des intervalles pour chaque balise unique, en utilisant l’identifiant de balise actuel.
tagid
– ID de balise à rechercher ; par exemple properties:orientation/landscape
N_value
– Utilisez 1_value
, 2_value
, … pour vérifier plusieurs identifiants de balises (combinées avec OR
par défaut, avec AND
si and=true
)property
– Propriété (ou chemin d’accès relatif à la propriété) à examiner (par défaut : cq:tags
)Ce prédicat recherche du contenu identifié avec une ou plusieurs balises, en spécifiant des mots-clés. Il recherche d’abord les balises dont les titres contiennent ces mots-clés, puis limite les résultats aux seuls éléments balisés avec ces mots-clés.
Il ne prend pas en charge l’extraction de facettes.
tagsearch
– Mot-clé à rechercher dans les titres de baliseproperty
– Propriété (ou chemin relatif à la propriété) à prendre en compte (valeur par défaut cq:tags
)lang
– Pour rechercher uniquement dans un titre de balise localisé donné (par exemple, de
)all
– Valeur booléenne pour rechercher le texte intégral d’une balise, c’est-à-dire tous les titres, descriptions, etc. (est prioritaire sur lang
)Ce prédicat limite les résultats à un type de nœud JCR spécifique, aussi bien pour les types de nœud primaire que de. mixin
Il trouve également des sous-types de ce type de nœud. Les index de recherche de référentiel doivent couvrir les types de nœuds pour une exécution efficace.
Ce prédicat prend en charge l’extraction des facettes et fournit des intervalles pour chaque type unique dans les résultats.
type
– Type de nœud ou nom de mixin
à rechercher ; par exemple, cq:Page