AEM查询生成器API中的查询结果不一致
在Adobe Experience Manager (AEM)中,如果使用意外索引,则使用查询生成器API执行查询时,会返回不一致的结果。 要修复,请使用index指定所需的索引 查询生成器API中的标记。
描述 description
环境
- 产品: AEM Managed Services,站点,v6.5
- 实例:生产
问题/症状
当查询执行期间使用非预期的索引时,查询结果不一致。
解决方法 resolution
要解决此问题,请执行以下步骤
-
通过使用自定义值指定
/oak:index/<index>属性来为tags中的自定义索引定义分配标记。 -
在查询生成器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) - 等效的查询生成器API查询:
fulltext=coursestype=cq:Pagepath=/content/mysitep.limit=10p.indexTag=customSearch
- 自定义索引定义示例(在
-
运行更新的查询以验证与指定的自定义索引(
customSearch)一致且准确的结果。
相关读数
recommendation-more-help
3d58f420-19b5-47a0-a122-5c9dab55ec7f