Query Builder の述語リファレンス

一般

述語

boolproperty

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

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

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

プロパティ


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


  • valueプロパティをチェックする値(「
    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 ヶ月」、「今年」、「前年」、「前年より前」のバケットを提供します。

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

プロパティ

  • property

    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

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

グループ

ネストされた条件を作成できます。グループにはネストされたグループを含めることができます。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:writejcr:modifyAccessControl

言語

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

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

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

プロパティ

  • language

    ISO言語コード(例:「 de 」)

mainasset

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

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

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

プロパティ

  • mainasset

    ブール値。メインアセットの場合は「 true 」、サブアセットの場合は「 false

memberOf

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

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

プロパティ

  • memberOf

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

ノデナム

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

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

プロパティ

  • nodename

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

notextired

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

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

  • 厳密

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

  • 平らな

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

  • self

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

プロパティ

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

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

プロパティ

  • プロパティ

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

  • value

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

  • N_value

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

  • および

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

  • 操作

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

  • 深さ

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

rangeproperty

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

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

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

プロパティ

  • プロパティ

    プロパティの相対パス

  • lowerBound

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

  • lowerOperation

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

  • upperBound

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

  • upperOperation

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

  • decimal

    チェックされたプロパティのタイプがDecimalの場合は" true"

relativedaterange

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

次に例を示します。

  • upperBound=1h (そしてい lowerBoundいえ)次の1時間には何も選択しません
  • lowerBound=-1d (およびいいえ upperBound)過去24時間以内に選択された項目は何でもかまいません
  • lowerBound=-6M そして upperBound=-3M 生後6ヶ月から3ヶ月の何かを選ぶ
  • lowerBound=-1500 過去 upperBound=5500 の1500ミリ秒から将来の5500ミリ秒の間のものを選択します。
  • lowerBound=1d 明後 upperBound=2d 日何かを選ぶだろう

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

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

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

プロパティ

  • upperBound

    現在のサーバー時間の上限(ミリ秒、2分、3時間、4日、5週間、6か月、7年)をミリ秒単位または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(1秒、2分、3時間、4日、5週、6ヶ月、7年)。負のオフセットは「 — 」を使用します

root

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

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

プロパティ

  • p.offset

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

  • p.limit

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

  • p.guessTotal

    推奨:コストのかかる結果の全体を計算しないようにします。カウントする最大合計を示す数値(例えば、1000、小さい結果を得るのに十分な大きさと正確な数をユーザーに提供する数)または「true」で、最小限必要なp.offset + p.limitまでカウントします。

  • 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ノード)

類似

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

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

プロパティ

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

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

タグ

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

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

プロパティ

  • tag

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

  • N_value

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

  • プロパティ

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

tagid

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

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

プロパティ

  • tagid

    探すタグID(例:「 properties:orientation/landscape 」)。

  • N_value

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

  • プロパティ

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

tagsearch

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

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

プロパティ

  • tagsearch

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

  • プロパティ

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

  • lang

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

  • all

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

type

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

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

プロパティ

  • type

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

このページ