Query Builder の述語リファレンス

一般

述語

boolproperty

JCR BOOLEAN プロパティに一致します。「 true 」と「 false 」の値のみを受け入れます。 「false」では、プロパティの値が「false」の場合または存在しない場合に一致します。有効になっている場合のみ設定されるブール型のフラグをチェックする際に便利です。

継承される「operation」パラメーターには意味はありません。

ファセットの抽出に対応しています。true または false の値ごとにバケットを提供しますが、既存のプロパティに限ります。

プロパティ

  • 例えば、
    booleanpropertyプロパティの相対パス
    myFeatureEnabledjcr:content/myFeatureEnabled のどちらかにする必要があります。

  • プロパティをチェックする
    値"
    true" または " false"

contentfragment

結果をコンテンツフラグメントに限定します。

フィルターには対応していません。

ファセットの抽出には対応していません。

プロパティ

  • contentfragment 任意の値と併用してコンテンツフラグメントをチェックできます。

dateComparison

2 つの JCR DATE プロパティを比較します。等しい、等しくない、より大きい、以上かどうかをテストできます。

これはフィルターのみの述語で、検索インデックスは利用できません。

プロパティ

  • property1

    1 つ目の日付プロパティのパス

  • property2

    2 つ目の日付プロパティのパス

  • operation

    "完全一致の場合は" ="、不等価比較の場合は" !="、property2より大きいプロパティ1の場合は" >"、property2より大きいか等しいプロパティ1の場合は" >="です。 デフォルト値は「=」です。

daterange

JCR DATE プロパティと日時の間隔を照合します。ISO8601 形式の日時(YYYY-MM-DDTHH:mm:ss.SSSZ)を使用します。YYYY-MM-DD などの部分表記も可能です。また、ミリ秒数のタイムスタンプ(UTC タイムゾーン、UNIX 時刻形式、1970 年以降)を指定することもできます。

2 つのタイムスタンプの間や、特定の日付より前または後のものを検索できるほか、両値を含めるか含めないかを選択することもできます。

ファセットの抽出に対応しています。「今日」、「今週」、「今月」、「過去 3 ヶ月」、「今年」、「前年」、「前年より前」のバケットを提供します。

フィルターには対応していません。

プロパティ

  • プロパティ

    DATEプロパティの相対パス(例:jcr:lastModified

  • lowerBound

    プロパティでチェックする日付の下限(2014-10-01 など)。

  • lowerOperation

    " >" (新しい)または" >=" (以降)は、lowerBoundに適用されます。 デフォルトは「>」です。

  • upperBound

    2014-10-01T12:15:00のように、プロパティをチェックする上限

  • upperOperation

    " <" (古い)または" <=" (古い)は、upperBoundに適用されます。 デフォルトは「<」です。

  • timeZone

    ISO-8601 の日付文字列で指定されていない場合に使用するタイムゾーンの ID。デフォルトは、システムのデフォルトのタイムゾーンです。

excludepaths

パスが正規表現に一致するノードを結果から除外します。

これはフィルターのみの述語で、検索インデックスは利用できません。

ファセットの抽出には対応していません。

プロパティ

  • excludepaths

    結果のパスと照合される正規表現。一致したパスは結果から除外されます。

fulltext

フルテキストのインデックスの語句を検索します。

フィルターには対応していません。

ファセットの抽出には対応していません。

プロパティ

  • fulltext

    全文検索用語

  • relPath

    プロパティまたはサブノードの検索の相対パス。このプロパティはオプションです。

group

ネストされた条件を作成できます。グループにはネストされたグループを含めることができます。querybuilder クエリのすべての要素は、暗黙的にルートグループに含まれます。ルートグループでは、p.or および p.not パラメーターを指定できます。

2 つのプロパティのいずれかを値と照合する例は次のとおりです。

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 OR 2_property) になります。

ネストされたグループの例は次のとおりです。

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

これは、/content/geometrixx/enのページ内または/content/dam/geometrixxのアセット内で、「管理」という語を検索します。

これは概念上は fulltext AND ( (path AND type) OR (path AND type) ) になります。このような OR 結合では、パフォーマンスの観点から適切なインデックスが必要です。

プロパティ

  • p.or

    " true"に設定した場合、グループ内の1つの述語のみが一致する必要があります。 デフォルトは「false」です。この場合は、すべてが一致する必要があります。

  • p.not

    " true"に設定した場合、グループを無効にします(デフォルトは" false")

  • <predicate>

    ネストされた述語を追加します

  • N_<predicate>

    1_property, 2_property, ...のように、ネストされた複数の述語を同時に追加します。

hasPermission

指定された JCR 権限が現在のセッションに含まれる項目に、結果を制限します。

これはフィルターのみの述語で、検索インデックスは利用できません。ファセットの抽出には対応していません。

プロパティ

  • hasPermission

    現在のユーザーセッションが、問題のノードに対してすべてのセッションで持つ必要があるJCRのコンマ区切り権限。例:jcr:write, jcr:modifyAccessControl

language

特定の言語の CQ ページを検索します。ページの言語プロパティと、ページパス(一般的に最上位レベルのサイト構造に言語やロケールが含まれています)の両方を検索します。

これはフィルターのみの述語で、検索インデックスは利用できません。

ファセットの抽出に対応しています。固有の言語コードごとにバケットを提供します。

プロパティ

  • language

    ISO言語コード(例:de

mainasset

ノードがサブアセットではなく、DAM メインアセットであるかどうかをチェックします。基本的には、DAM メインアセットは「subassets」ノード外のすべてのノードです。dam:Asset ノードタイプはチェックされません。この述語を使用するには、" mainasset=true"または" mainasset=false"を設定します。これ以上のプロパティはありません。

これはフィルターのみの述語で、検索インデックスは利用できません。

ファセットの抽出に対応しています。メインとサブアセットの 2 つのバケットを提供します。

プロパティ

  • mainasset

    ブール値。メインアセットは" true"、サブアセットは" false"

memberOf

特定の sling リソースコレクションのメンバーである項目を検索します。

これはフィルターのみの述語で、検索インデックスは利用できません。ファセットの抽出には対応していません。

プロパティ

  • memberOf

    Sling リソースコレクションのパス

nodename

JCR ノード名と一致します。

ファセットの抽出に対応しています。固有のノード名(ファイル名)ごとにバケットを提供します。

プロパティ

  • ノデナム

    ワイルドカードを使用できるノード名パターン:* は 0 個以上の任意の文字、? は任意の文字、[abc] は角括弧内の文字のみ

notexpired

JCR DATE プロパティが現在のサーバー時間より後か同じかをチェックすることで項目を照合します。これを使用すると、日付プロパティなどの「expiresAt」をチェックし、まだ有効期限が切れていないプロパティ(notexpired=true)または既に有効期限が切れているプロパティ(notexpired=false)に制限できます。

フィルターには対応していません。

daterange 述語と同じように、ファセットの抽出に対応しています。

プロパティ

  • notexpired

    ブール値。有効期限が切れていない(日付が現在以降である)場合は「true」、有効期限が切れている(日付が過去である)場合は「false」です(必須)。

  • プロパティ

    確認するDATEプロパティの相対パス(必須)

orderby

結果の並べ替えを有効にします。複数のプロパティ別に並べ替える必要がある場合は、1_orderby=first2_oderby=second などの数字のプレフィックスを使用して、この述語を複数回追加する必要があります。

プロパティ

  • orderby

    並べ替えの基準となる、先頭が @ の JCR プロパティ名(例:@jcr:lastModified@jcr:content/jcr:title)またはクエリ内の別の述語(例:2_property

  • 並べ替え

    並べ替え方向(降順は" desc"、昇順は" asc")

  • 症例

    ignore」に設定すると、並べ替えで大文字と小文字が区別されなくなります(「a」が「B」の前になります)。空白または未指定の場合は、並べ替えで大文字と小文字が区別されます(「B」が「a」の前になります)。

path

特定のパス内を検索します。

ファセットの抽出には対応していません。

プロパティ

  • path

    パスパターン;完全一致に応じて、サブツリー全体が(xpathに//*を付加するのと同じですが、これはベースパスを含まないことに注意してください)(exact=false、default)、または完全一致のみに一致し、ワイルドカード(*)を含めることができます。selfが設定されている場合、ベースノードを含むサブツリー全体が検索されます

  • 完全一致

    exactがtrue/onの場合は、完全なパスは一致する必要がありますが、一致する名前を含む単純なワイルドカード(*)を含めることはできますが、" /";は含めません。false(デフォルト)の場合、すべての子孫が含まれます(オプション)。

  • 平らな

    (xpathに「 /* 」を付加する場合など)直接の子のみを検索します(「 exact 」がtrueでない場合にのみ使用します。オプション)

  • self

    サブツリーを検索しますが、パスとして指定されたベースノードが含まれます(ワイルドカードは不可)。

property

JCR プロパティとその値に一致します。

ファセットの抽出に対応しています。結果の固有のプロパティ値ごとにバケットを提供します。

プロパティ

  • プロパティ

    プロパティの相対パス(例:jcr:title

  • value

    プロパティでチェックする値。JCR プロパティタイプから文字列への変換に従います

  • N_value

    1_value2_value、…を使用して、複数の値(デフォルトでORと組み合わされ、ifと=true)をチェックします(5.3以降)。AND

  • および

    複数の値(N_value)とANDを組み合わせる場合はtrueに設定(5.3以降)

  • operation

    完全一致(デフォルト)の場合は" equals"、不等価比較の場合は" unequals"、jcr:like xpath関数(オプション)の場合は" like"、一致しない場合は" not" xpathの" not(@prop)"、value paramは無視されます)、または" exists" (値はtrueの場合があります。プロパティは存在する必要があり、デフォルト値はfalseの場合は" not"と同じ)

  • 深さ

    プロパティ/相対パスが存在できるワイルドカードレベルの数(例えば、property=size depth=2はnode/size、node/amp;ast;/size、node/&ast;/&ast;/size)をチェックします

rangeproperty

JCR プロパティと間隔を照合します。LONGDOUBLEDECIMAL などの線形タイプのプロパティに適用されます。DATE に関しては、最適化された日付形式の入力情報を含む daterange 述語を参照してください。

下限と上限、またはそのいずれかを定義できます。演算(「より少ない」や「以下」など)も、下限と上限に別々に指定することができます。

ファセットの抽出には対応していません。

プロパティ

  • プロパティ

    プロパティの相対パス

  • lowerBound

    ~の特性をチェックする下限

  • lowerOperation

    " >"(デフォルト)または" >="がlowerValueに適用されます

  • upperBound

    プロパティをチェックする上限

  • upperOperation

    " <"(デフォルト)または" <="がlowerValueに適用されます

  • decimal

    " true"チェック済みプロパティのタイプが10進の場合

relativedaterange

JCR DATE プロパティと日時の間隔を照合します(現在のサーバー時間に対する時間オフセットを使用します)。ミリ秒値またはbugzilla構文1s 2m 3h 4d 5w 6M 7y (1秒、2分、3時間、4日、5週間、6か月、7年)を使用してlowerBoundupperBoundを指定できます。 現在時間より前の負のオフセットを示す場合は、「 - 」というプリフィックスを付けます。 lowerBound または upperBound のいずれかのみを指定する場合は、他方がデフォルトで 0(現在の時間)になります。

次に例を示します。

  • upperBound=1h (そして lowerBound)次の時間には何でも選ぶ
  • lowerBound=-1d (そして upperBound)過去24時間の間に何でも選択する
  • lowerBound=-6M 6ヶ月 upperBound=-3M から3ヶ月の歳月は何でも選ぶ
  • lowerBound=-1500 また、過去1500ミリ秒から将来5500ミリ秒の間の値を upperBound=5500 選択する必要があります。
  • lowerBound=1d 明後日 upperBound=2d には何でも選ぶ

うるう年は考慮されず、すべての月が 30 日になる点にご注意ください。

フィルターには対応していません。

daterange 述語と同じように、ファセットの抽出に対応しています。

プロパティ

  • upperBound

    ミリ秒または1s 2m 3h 4d 5w 6M 7y(1秒、2分、3時間、4日、5週間、6か月、7年)の上限のサーバー時間、負のオフセットには「 — 」を使用します

  • lowerBound

    現在のサーバー時間に対する下限の日付(ミリ秒、2分、3時間、4日、5週間、6か月、7年)。負のオフセットには「 — 」を使用します1s 2m 3h 4d 5w 6M 7y

root

ルート述語グループ。グループのすべての機能に対応し、グローバルクエリパラメーターを設定できます。

「root」という名前は暗黙的で、クエリでは使用されません。

プロパティ

  • p.offset

    結果ページの開始を表す数値(スキップする項目数)。

  • p.limit

    ページのサイズを表す数値

  • p.guessTotal

    推奨:コストのかかる結果の総計を計算しないようにする。最大カウント総数を示す数値(1000など、粗いサイズで十分なフィードバックを与え、小さい結果を求める正確な数値)または「true」(最小限必要な値までカウント)+ p.limit p.offset

  • p.excerpt

    " true"に設定した場合、結果に全文の抜粋を含めます。

  • p.hits

    (JSON サーブレット専用)ヒットを JSON として記述する方法を、次の標準的なものの中から選択します(ResultHitWriter サービスを使用して拡張可能)。

    • シンプル:

      pathtitlelastmodifiedexcerpt(設定されている場合)など、最小の項目

    • full:

      ノードのsling JSONレンダリングで、ヒットのパスを示すjcr:pathが付きます。デフォルトでは、リストの直接のプロパティだけがノードのより深いツリーを含めます。p.nodedepth=Nは、0は無限のサブツリー全体を意味します。p.acls=trueを追加して、指定した結果アイテムに対する現在のセッションのJCR権限を含めます(マッピング:create = add_nodemodify = set_propertydelete = remove)

    • 選択的:

      p.propertiesに指定されたプロパティのみ。相対パスのスペース区切り(URLでは「+」を使用)リスト。相対パスの深さが1より大きい場合、これらは子オブジェクトとして表されます。特殊なjcr:pathプロパティには、ヒットのパスが含まれます。

savedquery

永続的な querybuilder クエリのすべての述語を、サブグループの述語として現在のクエリに含めます。

これによって追加のクエリが実行されるわけではなく、現在のクエリが拡張されます。

クエリは QueryBuilder#storeQuery() を使用してプログラムで永続化できます。形式は、複数行の String プロパティか、Java プロパティ形式のテキストファイルとしてクエリを含む nt:file ノードにできます。

保存済みクエリの述語のファセット抽出には対応していません。

プロパティ

  • savedquery

    保存されたクエリーへのパス(Stringプロパティまたはnt:fileノード)

similar

JCR XPathのrep:similar()を使用した類似性検索。

フィルターには対応していません。ファセットの抽出には対応していません。

プロパティ

  • similar 類似ノードを検索するノードの絶対パス。

  • local 下位ノードの相対パス、または現在のノードの場合は
    . 現在のノード(オプション、デフォルトは「 .」)

tag

タグタイトルのパスを指定して、タグが付けられているコンテンツを検索します。

ファセットの抽出に対応しています。現在のタグタイトルのパスを使用して固有のタグごとにバケットを提供します。

プロパティ

  • タグ

    検索するタグタイトルのパス(「Asset Properties : Orientation / Landscape」など)。

  • N_value

    1_value2_value、…を使用して、複数のタグ(デフォルトでORと組み合わされ、ifと=true)をチェックします(5.6以降)AND

  • プロパティ

    参照するプロパティ(またはプロパティの相対パス)(デフォルトは「cq:tags」)

tagid

タグ ID を指定して、タグが付けられているコンテンツを検索します。

ファセットの抽出に対応しています。現在のタグ ID を使用して固有のタグごとにバケットを提供します。

プロパティ

  • tagid

    検索するタグID(例:" properties:orientation/landscape")

  • N_value

    1_value2_value、…を使用して、複数のタグidをチェックします(デフォルトではORと組み合わされ、ifと=true)(5.6以降)。AND

  • プロパティ

    参照するプロパティ(またはプロパティの相対パス)(デフォルトは「cq:tags」)

tagsearch

キーワードを指定して、タグが付けられているコンテンツを検索します。最初にタイトル内に対象のキーワードを含むタグを検索してから、それらのタグが付いている項目のみに結果を制限します。

ファセットの抽出には対応していません。

プロパティ

  • tagsearch

    タグタイトル内で検索するキーワード

  • プロパティ

    参照するプロパティ(またはプロパティの相対パス)(デフォルトは「cq:tags」)

  • lang

    特定のローカライズされたタグタイトルのみを検索する場合(例:" de")

  • all

    (ブール値)タグのフルテキスト全体(すべてのタイトル、説明など)を検索します(「l ang」より優先)

type

特定の JCR ノードのタイプ(プライマリノードタイプまたは Mixin タイプ)に結果を制限します。そのノードタイプのサブタイプも検索します。リポジトリーの検索インデックスでは、効率的に実行できるノードタイプに対応する必要があります。

ファセットの抽出に対応しています。結果の固有のタイプごとにバケットを提供します。

プロパティ

  • type

    検索するノードタイプまたはmixin名(例:cq:Page

このページ

Adobe Summit Banner

A virtual event April 27-28.

Expand your skills and get inspired.

Register for free
Adobe Summit Banner

A virtual event April 27-28.

Expand your skills and get inspired.

Register for free