查詢產生器述詞參考 query-builder-predicate-reference
一般 general
根 root
根述詞群組。 它支援群組的所有功能,並允許設定全域查詢引數。
查詢中從未使用過名稱「root」,這是隱含的名稱。
屬性 properties-18
-
p.offset
— 表示結果頁面開始的數字,也就是要略過多少專案。 -
p.limit
— 表示頁面大小的數字。 -
p.guessTotal
— 建議:避免計算完整結果總計,這可能要花費大量成本。 指示要計算的總數上限的數字(例如,1000,這個數字可提供使用者對粗略大小和精確數字的足夠意見反應,以獲得較小結果)。 或,true
以僅計算至所需的最小值p.offset
+p.limit
. -
p.excerpt
— 若設為true
,在結果中包含全文摘錄。 -
p.indexTag
— 若設定,查詢中將包含索引標籤選項(請參閱 查詢選項索引標籤)。 -
p.facetStrategy
— 若設為oak
,查詢產生器會將Facet擷取委派給Oak (請參閱 Facet)。 -
p.hits
- (僅適用於JSON servlet)選取將點選寫入為JSON的方式,並使用這些標準點選(可透過ResultHitWriter服務擴充)。simple
— 最小專案,例如path
,title
,lastmodified
,excerpt
(若有設定)。full
— 節點的sling JSON演算,使用jcr:path
表示點選的路徑。 根據預設,僅列出節點的直接屬性,包括更深層的樹狀結構p.nodedepth=N
,0表示完整、無限的子樹狀結構。 新增p.acls=true
在指定的結果專案上包含目前工作階段的JCR許可權(對應:create
=add_node
,modify
=set_property
,delete
=remove
)。selective
— 僅指定於p.properties
,以空格分隔(使用+
相對路徑清單(在URL中)。 如果相對路徑有深度>1
,這些屬性會顯示為子物件。 特殊的jcr:path
屬性包含點選的路徑。
群組 group
此述詞允許建立巢狀條件。 群組可以包含巢狀群組。 Query Builder查詢中的所有內容都以隱含方式位於根群組中,根群組可以有 p.or
和 p.not
引數。
以下範例是將兩個屬性之一與值比對:
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
從概念上講,這是 (1_property
或 2_property)
.
以下是巢狀群組的範例:
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
搜尋字詞 管理 在中的頁面內 /content/wknd/ch/de
或在中的資產中 /content/dam/wknd
.
從概念上講,這是 fulltext AND ( (path AND type) OR (path AND type) )
. 基於效能原因,這些OR聯結需要良好的索引。
屬性 properties-6
p.or
— 若設為true
,群組中只有一個述詞必須相符。 預設為false
,表示所有條件都必須符合p.not
— 若設為true
,這會讓群組失效(預設為false
)<predicate>
— 新增巢狀述詞N_<predicate>
— 同時新增多個巢狀述詞,例如1_property, 2_property, ...
orderby orderby
此述詞允許排序結果。 如果需要依多個屬性排序,則必須使用數字首碼多次新增此述詞,例如 1_orderby=first
, 2_oderby=second
.
屬性 properties-13
orderby
— 以@開頭的JCR屬性名稱,例如,@jcr:lastModified
或@jcr:content/jcr:title
,或查詢中的其他述詞,例如,2_property
,排序依據sort
— 排序方向desc
降序或asc
遞增(預設)case
— 若設為ignore
,這會使排序不區分大小寫,表示a
早於B
;如果為空白或省略,排序會區分大小寫,這表示B
早於a
述詞 predicates
布林屬性 boolproperty
此述詞符合JCR布林值屬性。 僅接受值 true
和 false
. 如果值為 false
,會比對屬性是否具有值 false
,或如果它根本不存在。 此述詞在檢查布林值標幟時非常有用,這些標幟僅在啟用時才會設定。
繼承的 operation
引數沒有意義。
此述詞支援Facet擷取,並為每個擷取提供值區 true
或 false
值,但僅適用於現有屬性。
屬性 properties
boolproperty
— 屬性的相對路徑,例如,myFeatureEnabled
或jcr:content/myFeatureEnabled
value
— 要檢查屬性的值,true
或false
contentfragment contentfragment
此述詞將結果限製為內容片段。
- 不支援篩選。
- 不支援多面向擷取。
屬性 properties-1
contentfragment
— 可與任何值搭配使用以檢查內容片段。
dateComparison
datecomparison
此述詞會比較兩個JCR日期屬性。 可以測試這些值是否相等、不相等、大於或大於或等於。
僅限篩選的述詞,且無法使用搜尋索引。
屬性 properties-2
-
property1
— 第一個日期屬性的路徑 -
property2
— 路徑至第二個日期屬性 -
operation
=
完全符合(預設)!=
不等式比較>
的property1
大於property2
>=
的property1
大於或等於property2
日期範圍 daterange
此述詞比對JCR日期屬性與日期/時間間隔。 對日期和時間使用ISO8601格式(YYYY-MM-DDTHH:mm:ss.SSSZ
)並允許部分表示,例如 YYYY-MM-DD
. 或者,時間戳記可以作為POSIX時間提供。
您可以尋找兩個時間戳記之間的任何專案,或比指定日期新或舊的專案,也可以選擇介於包含間隔和開啟間隔之間的專案。
它支援Facet擷取並提供貯體 today
, this week
, this month
, last 3 months
, this year
, last year
、和 earlier than last year
.
不支援篩選。
屬性 properties-3
property
— 相對路徑DATE
屬性,例如,jcr:lastModified
lowerBound
— 用於檢查屬性的日期下限,例如2014-10-01
lowerOperation
->
(較新)或>=
(在或更新版本),套用至lowerBound
. 預設值為>
upperBound
— 檢查屬性的上限,例如2014-10-01T12:15:00
upperOperation
-<
(較舊)或<=
(等於或大於),適用於upperBound
. 預設值為<
timeZone
— 未指定為ISO-8601日期字串時要使用的時區ID。 預設為系統的預設時區。
排除路徑 excludepaths
此述詞會從結果中排除其路徑符合規則運算式的節點。
僅限篩選的述詞,且無法使用搜尋索引。
不支援多面向擷取。
屬性 properties-4
excludepaths
— 符合結果路徑的規則運算式,將符合的路徑排除在結果之外。
全文 fulltext
搜尋全文檢索索引中的詞語。
不支援篩選。
不支援多面向擷取。
屬性 properties-5
fulltext
— 全文檢索搜尋詞relPath
— 在屬性或子節點中搜尋的相對路徑。 此屬性是選用的。
hasPermission haspermission
此述詞將結果限製為目前工作階段具有指定之專案 JCR許可權。
僅限篩選的述詞,且無法使用搜尋索引。 不支援多面向擷取。
屬性 properties-7
hasPermission
— 目前使用者工作階段必須擁有有關節點的所有逗號分隔JCR許可權。 例如,jcr:write
,jcr:modifyAccessControl
語言 language
此述詞尋找特定語言的AEM頁面。 它會同時檢視頁面語言屬性和頁面路徑,這通常會包含頂層網站結構中的語言或地區設定。
僅限篩選的述詞,且無法使用搜尋索引。
它支援Facet擷取,並為每個唯一語言程式碼提供貯體。
屬性 properties-8
language
- ISO語言代碼,例如de
主要資產 mainasset
此述詞檢查節點是否為DAM主資產而非子資產。 這基本上是每個不在子資產節點內的節點。 但不會檢查 dam:Asset
節點型別。 若要使用此述詞,請設定 mainasset=true
或 mainasset=false
. 沒有其他屬性。
僅限篩選的述詞,且無法使用搜尋索引。
它支援多面向擷取,並為主要和子資產提供兩個貯體。
屬性 properties-9
mainasset
— 布林值,true
針對主要資產,false
用於子資產
memberOf memberof
此述詞尋找屬於特定成員的專案 sling資源集合.
僅限篩選的述詞,且無法使用搜尋索引。
不支援多面向擷取。
屬性 properties-10
memberOf
- Sling資源集合的路徑
nodename nodename
此述詞在JCR節點名稱上相符。
它支援Facet擷取,並為每個唯一節點名稱(檔案名稱)提供值區。
屬性 properties-11
nodename
— 允許萬用字元的節點名稱模式:*
=任何或無字元,?
=任何字元,[abc]
=僅括弧中的字元
notexpired notexpired
此述詞會透過檢查JCR日期屬性是否大於或等於目前伺服器時間來比對專案。 它可用來檢查 expiresAt
值和將結果限製為僅限尚未過期的值(notexpired=true
),或已過期的(notexpired=false
)。
不支援篩選。
它支援多面向擷取,其方式與以下相同: daterange
述詞。
屬性 properties-12
notexpired
— 布林值,true
針對尚未過期(未來日期或相等),false
適用於已過期(過去日期) (必要)property
— 相對路徑DATE
要檢查的屬性(必要)
路徑 path
此述詞在給定路徑內搜尋。
不支援多面向擷取。
屬性 properties-14
path
— 定義路徑模式。- 依據
exact
屬性,可能是整個子樹狀結構相符(如附加//*
在xpath中,但請注意,其中不包含基本路徑),或只符合一個確切路徑,其中可包含萬用字元(*
)。- 預設為
true
.
<!— *若self
屬性已設定,則會搜尋包含基礎節點的整個子樹狀結構。—>
- 預設為
- 依據
exact
— 如果exact
是true
,路徑必須相同,但可包含簡單萬用字元(*
),但不會比對名稱/
;如果是false
(預設)包含所有子代(選擇性)。flat
— 僅搜尋直接子項(如附加/*
在xpath中) (僅用於exact
不為true,則為選用)。self
— 搜尋子樹狀結構,但包含以路徑指定的基礎節點(無萬用字元)。- 重要注意事項:已識別問題
self
查詢產生器目前實作中的屬性以及將其用於查詢可能無法產生正確的搜尋結果。 變更目前的實施self
屬性也不可行,因為它可能會中斷依賴它的現有應用程式。 由於此功能,self
屬性現已棄用;建議避免使用。
- 重要注意事項:已識別問題
屬性 property
此述詞符合JCR屬性及其值。
它支援Facet擷取,並為結果中的每個唯一屬性值提供值區。
屬性 properties-15
-
property
— 屬性的相對路徑,例如,jcr:title
. -
value
— 要檢查屬性的值;遵循JCR屬性型別進行字串轉換。 -
N_value
— 使用1_value
,2_value
, …以檢查多個值(與OR
依預設,使用AND
如果and=true
)。 -
and
— 設為true
用於合併多個值(N_value
)和AND
-
operation
-
equals
以取得完全相符(預設)。 -
unequals
用於比較不相等。 -
like
若使用jcr:like
xpath函式(選用)。 -
not
找不到相符專案(例如,not(@prop)
在xpath中,會忽略value引數)。 -
exists
以檢查是否存在。true
屬性必須存在。false
與相同not
且為預設值。
-
-
depth
— 可存在屬性/相對路徑的萬用字元層級數目(例如property=size depth=2
檢查node/size
,node/*/size
、和node/*/*/size
)。
rangeproperty rangeproperty
此述詞比對JCR屬性與間隔。 它會套用至具有線性型別的屬性,例如 LONG
, DOUBLE
、和 DECIMAL
. 的 DATE
,請參閱 daterange
具有最佳化日期格式輸入的述詞。
您可以定義下限、上限或兩者。 也可以為上下限分別指定操作(例如,小於或小於或等於)。
不支援多面向擷取。
屬性 properties-16
property
— 屬性的相對路徑lowerBound
— 檢查屬性的下限lowerOperation
->
(預設)或>=
,套用至lowerValue
upperBound
— 檢查屬性的上限upperOperation
-<
(預設)或<=
,套用至lowerValue
decimal
-true
如果checked屬性的型別為Decimal
相對日期範圍 relativedaterange
此述詞相符 JCR DATE
屬性會使用相對於目前伺服器時間的時間位移,以針對日期/時間間隔設定。 您可以指定 lowerBound
和 upperBound
使用毫秒值或Bugzilla語法 1s 2m 3h 4d 5w 6M 7y
(一秒、兩分鐘、三小時、四天、五週、六個月、七年)。 前置詞 -
表示目前時間之前的負位移。 如果您只指定 lowerBound
或 upperBound
,則另一個預設為 0
,代表目前時間。
例如:
upperBound=1h
(無lowerBound
)在下一個小時內選取任何專案lowerBound=-1d
(無upperBound
)選取過去24小時內的任何專案lowerBound=-6M
和upperBound=-3M
選取過去3到6個月的任何專案lowerBound=-1500
和upperBound=5500
選取介於1500毫秒和5500毫秒之間的任何事物lowerBound=1d
和upperBound=2d
選取後天的任何專案
這不考慮閏年,所有月份都是30天。
不支援篩選。
它支援多面向擷取,其方式與以下相同: daterange
述詞。
屬性 properties-17
upperBound
— 以毫秒為單位的上限日期或1s 2m 3h 4d 5w 6M 7y
(一秒、兩分鐘、三小時、四天、五週、六個月、七年)相對於目前伺服器時間,使用-
負位移lowerBound
— 以毫秒為單位的下限日期或1s 2m 3h 4d 5w 6M 7y
(一秒、兩分鐘、三小時、四天、五週、六個月、七年)相對於目前伺服器時間,使用-
負位移
savedquery savedquery
此述詞包含持續查詢產生器查詢的所有述詞,這些述詞會作為子群組述詞加入目前的查詢。
它不會執行額外的查詢,但會擴充目前的查詢。
可使用以下程式設計方式儲存查詢 QueryBuilder#storeQuery()
. 格式可為多行 String
屬性或 nt:file
以Java™屬性格式包含查詢作為文字檔案的節點。
不支援為已儲存查詢的述詞擷取Facet。
屬性 properties-19
savedquery
— 已儲存查詢的路徑(String
屬性或nt:file
節點)
相似 similar
此述詞是使用JCR XPath的相似性搜尋 rep:similar()
.
不支援篩選和不支援Facet擷取。
屬性 properties-20
similar
— 要尋找類似節點的節點的絕對路徑local
— 子系節點或變數的相對路徑。.
對於目前節點(選擇性,預設為.
)
標籤 tag
此述詞會指定標籤標題路徑,以搜尋標籤有一或多個標籤的內容。
它支援Facet擷取,並使用其目前的標籤標題路徑為每個唯一標籤提供貯體。
屬性 properties-21
tag
— 標籤標題路徑以尋找,例如properties:orientation/landscape
N_value
— 使用1_value
,2_value
, …以檢查多個標籤(與OR
依預設,使用AND
如果and=true
)property
— 要檢視的屬性(或屬性的相對路徑) (預設)cq:tags
)
標籤ID tagid
此述詞會指定標籤ID,以搜尋標籤有一或多個標籤的內容。
它支援Facet擷取,並使用其目前的標籤ID為每個唯一標籤提供貯體。
屬性 properties-22
tagid
— 標籤識別碼,用於尋找,properties:orientation/landscape
N_value
— 使用1_value
,2_value
, …以檢查多個標籤ID (與OR
依預設,使用AND
如果and=true
)property
— 要檢視的屬性(或屬性的相對路徑) (預設)cq:tags
)
tagsearch tagsearch
此述詞會指定關鍵字,以搜尋標籤有一或多個標籤的內容。 它會先搜尋標題中包含這些關鍵字的標籤,然後將結果限製為僅包含具有這些關鍵字標籤的專案。
不支援多面向擷取。
屬性 Properties-1
tagsearch
— 要在標籤標題中搜尋的關鍵字property
— 要考慮的屬性(或屬性的相對路徑) (預設)cq:tags
)lang
— 僅搜尋特定本地化的標籤標題(例如de
)all
— 布林值,可搜尋整個標籤全文,也就是所有標題、說明等(優先於lang
)
類型 type
此述詞將結果限製為特定JCR節點型別,包括主要節點型別或 mixin
型別。 它也會尋找該節點型別的子型別。 存放庫搜尋索引必須涵蓋節點型別,才能有效執行。
它支援多面向擷取,並為結果中的每個唯一型別提供值區。
屬性 Properties-2
type
— 節點型別或mixin
名稱來搜尋,例如cq:Page