Query Builder Predicate Reference query-builder-predicate-reference
General general
Predicates predicates
boolproperty boolproperty
Matches on JCR BOOLEAN properties. Only accepts the values " true
" and " false
". If " false
", it matches if the property has the value " false
" or if it does not exist at all. This can be useful for checking for boolean flags that are only set when enabled.
The inherited " operation
" parameter has no meaning.
Supports facet extraction. Provides buckets for each true
or false
value, but only for existing properties.
Properties properties
-
boolproperty
Relative path to property, for example,myFeatureEnabled
orjcr:content/myFeatureEnabled
. -
value
Value to check property for, "true
" or "false
".
contentfragment contentfragment
Restricts the result to content fragments.
Does not support filtering.
Does not support facet extraction.
Properties properties-1
- contentfragment
It can be used with any value to check for content fragments.
dateComparison datecomparison
Compares two JCR DATE properties with each other. You can test if they are equal, unequal, greater than or greater-than-or-equal.
This is a filtering-only predicate and cannot use a search index.
Properties properties-2
-
property1
Path to first date property.
-
property2
Path to second date property.
-
operation
"
equals
" for exact match, "!=
" for unequality comparison, "greater
" for property1 greater than property2, ">=
" for property1 greater than or equal to property2. The default value is "equals
".
daterange daterange
Matches JCR DATE properties against a date/time interval. This uses the ISO8601
format for dates and times ( YYYY-MM-DDTHH:mm:ss.SSSZ
) and allows also partial representations, like YYYY-MM-DD
. Alternatively, the timestamp can be provided as the number of milliseconds since 1970 in the UTC timezone, the UNIX庐 time format.
You can look for anything between two timestamps, anything newer or older than a given date, and also chose between inclusive and open intervals.
Supports facet extraction. Provides buckets 鈥渢oday鈥, 鈥渢his week鈥, 鈥渢his month鈥, 鈥渓ast 3 months鈥, 鈥渢his year鈥, 鈥渓ast year鈥 and 鈥渆arlier than last year鈥.
Does not support filtering.
Properties properties-3
-
property
Relative path to a
DATE
property, for example,jcr:lastModified
. -
lowerBound
Lower date bound to check property for, for example,
2014-10-01
. -
lowerOperation
"
>
" (newer) or ">=
" (at or newer), applies to thelowerBound
. The default is ">
". -
upperBound
Upper bound to check property for, for example,
2014-10-01T12:15:00
. -
upperOperation
"
<
" (older) or "<=
" (at or older), applies to theupperBound
. The default is "<
". -
timeZone
ID of timezone to use when it is not given as an ISO-8601 date string. The default is the default timezone of the system.
excludepaths excludepaths
Excludes nodes from the result where their path matches a regular expression.
This is a filtering-only predicate and cannot use a search index.
Does not support facet extraction.
Properties properties-4
-
excludepaths
Regular expression matched against result paths, excluding matching ones from the result.
fulltext fulltext
Searches for terms in the fulltext index.
Does not support filtering.
Does not support facet extraction.
Properties properties-5
-
fulltext
The fulltext search terms.
-
relPath
The relative path to search in the property or subnode. This property is optional.
group group
Allows nested conditions to be built. Groups can contain nested groups. Everything in a query builder query is implicitly in a root group, which can have p.or
and p.not
parameters as well.
Example for matching either one of two properties against a value:
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
This is conceptually (1_property
OR 2_property)
.
Example for nested groups:
fulltext=Management
group.p.or=true
group.1_group.path=/content/geometrixx/en
group.1_group.type=cq:Page
group.2_group.path=/content/dam/geometrixx
group.2_group.type=dam:Asset
This searches for the term 鈥Management鈥 within pages in /content/geometrixx/en
or in assets in /content/dam/geometrixx
.
This is conceptually fulltext AND ( (path AND type) OR (path AND type) )
. Such OR joins need good indexes for performance.
Properties properties-6
-
p.or
If set to "
true
", only one predicate in the group must match. This defaults to "false
", meaning all must match -
p.not
If set to "
true
", it negates the group (defaults to "false
"). -
<predicate>
Adds nested predicates.
-
N_<predicate>
Adds multiple nested predicates of the same time, like
1_property, 2_property, ...
.
hasPermission haspermission
Restricts the result to items where the current session has the specified
This is a filtering-only predicate and cannot use a search index. It does not support facet extraction.
Properties properties-7
-
hasPermission
Comma-separated JCR privileges that the current user session must ALL have the node in question. For example,
jcr:write
,jcr:modifyAccessControl
.
language language
Finds CQ pages in a specific language. This looks at both the page language property and the page path which often includes the language or locale in a top-level site structure.
This is a filtering-only predicate and cannot use a search index.
Supports facet extraction. Provides buckets for each unique language code.
Properties properties-8
-
language
ISO language code, for example, 鈥
de
鈥
mainasset mainasset
Checks if a node is a DAM main asset and not a subasset. This is basically every node not inside a 鈥渟ubassets鈥 node. This does not check for the dam:Asset
node type. To use this predicate, set " mainasset=true
" or " mainasset=false
", there are no further properties.
This is a filtering-only predicate and cannot use a search index.
Supports facet extraction and provides two buckets for main and subassets.
Properties properties-9
-
mainasset
Boolean, "
true
" for main assets, "false
" for subassets.
memberOf memberof
Finds items that are member of a specific .
This is a filtering-only predicate and cannot use a search index. Does not support facet extraction.
Properties properties-10
-
memberOf
Path of Sling resource collection.
nodename nodename
Matches on JCR node names.
Supports facet extraction. Provides buckets for each unique node name (filename).
Properties properties-11
-
nodename
Node name pattern that allows wildcards:
*
= any or no char,?
= any char,[abc]
= only chars in brackets.
notexpired notexpired
Matches items by checking if a JCR DATE property is greater or equal than the current server time. This can be used to check on an " expiresAt
" like date property and limit to only the ones that have not expired yet ( notexpired=true
) or that have expired already ( notexpired=false
).
Does not support filtering.
Supports facet extraction in the same way as the daterange predicate.
Properties properties-12
-
notexpired
Boolean, "
true
" for not expired yet (date in the future or equal), "false
" for expired (date in the past) (required). -
property
Relative path to the
DATE
property to check (required).
orderby orderby
Allows the results to be sorted. If ordering by multiple properties is required, this predicate must be added multiple times using the number prefix, such as 1_orderby=first
, 2_oderby=second
.
Properties properties-13
-
orderby
Either JCR property name indicated by a leading @, for example,
@jcr:lastModified
or@jcr:content/jcr:title
, or another predicate in the query, for example,2_property
, on which to sort. -
sort
Sort direction, either "
desc
" for descending or "asc
" for ascending (default). -
case
If set to
ignore
, it makes sorting case insensitive, meaning 鈥渁鈥 comes before 鈥淏鈥; if empty or left out, sorting is case-sensitive, meaning 鈥淏鈥 comes before 鈥渁鈥
path path
Searches within a given path.
Does not support facet extraction.
Properties properties-14
-
path
Path pattern. Depending on exact, either the entire subtree matches (like appending
//*
in xpath, but note that this does not include the base path) (exact=false, default), or only an exact path match, which can include wildcards (*
); if self is set, the entire subtree including the base node is searched. -
exact
If
exact
is true/on, the exact path must match, but it can contain simple wildcards (*
), that match names, but not "/
"; if it is false (default) all descendents are included (optional). -
flat
Searches only the direct children (like appending "
/*
" in xpath) (only used if 鈥exact
鈥 is not true, optional). -
self
Searches the subtree but includes the base node given as path (no wildcards).
property property
Matches on JCR properties and their values.
Supports facet extraction. Provides buckets for each unique property value in the results.
Properties properties-15
-
property
Relative path to property, for example,
jcr:title
. -
value
Value to check the property for; follows the JCR p