AEM Query Builder API で一貫性のないクエリ結果が発生する
Adobe Experience Manager(AEM)で Query Builder API を使用してクエリを実行すると、意図しないインデックスが使用されている場合に一貫性のない結果が返される。 修正するには、index を使用して目的のインデックスを指定します Query Builder API の タグ。
説明 description
環境
- 製品 :AEM Managed Services、Sites、v6.5
- インスタンス :実稼動
問題/症状
クエリの実行中に意図しないインデックスが使用されると、クエリの結果に一貫性がなくなります。
解決策 resolution
この問題を修正するには、次の手順に従います
-
/oak:index/<index>プロパティにカスタム値を指定して、タグをtagsのカスタムインデックス定義に割り当てます。 -
Query Builder API クエリで
p.indexTagパラメーターを使用します。 -
クエリに
p.indexTag=<tagname>を追加します。<tagname>はカスタムインデックスタグに一致します。 -
クエリで目的のカスタムインデックスが使用されていることを確認します。 例:
- カスタムインデックス定義のサンプル(
/oak:index/fullTextSearchの下):jcr:mixinTypes="[ rep:AccessControllable] "async="[ async,nrt] "compatVersion="{Long}2"evaluatePathRestrictions="{Boolean}true"excludedPaths="[ /var,/etc/replication,/etc/workflow/instances,/jcr:system] "includedPaths="[ /content/mysite] "queryPaths="[ /content/mysite] "reindex="{Boolean}false"reindexCount="{Long}1"seed="{Long}-4788584413483415353"type="lucene"tags="[ customSearch] " - 特定のインデックスを使用した XPath クエリ:
/jcr:root/content/data/element(*, cq:Page)[ (jcr:contains(., 'courses'))] option (index tag customSearch) - 同等の Query Builder API クエリ:
fulltext=coursestype=cq:Pagepath=/content/mysitep.limit=10p.indexTag=customSearch
- カスタムインデックス定義のサンプル(
-
更新されたクエリを実行して、指定されたカスタムインデックス(
customSearch)で一貫性のある正確な結果を検証します。
関連読み取り値
- AEMaaCS ユーザーガイドの Query Builder 述語リファレンス
- クエリエンジンの処理 に関するOak ドキュメント
- AEMでの インデックス作成のベストプラクティス
recommendation-more-help
3d58f420-19b5-47a0-a122-5c9dab55ec7f