aem - AEM Query-builder 批量查询
问题描述
我有以下工作查询
path=/content/dam
type=sling:OrderedFolder
nodename=[0-9][0-9][0-9][0-9]-([0-9][0-9][0-9][0-9]|[0-9][0-9][0-9][0-9][0-9])
property=jcr:content/metadataprofile
property.operation=exists
property.value=false
p.limit=-1
它在整个Path=/content/dam上运行,因此它遍历所有节点大约 20 分钟并给出结果。
当以编程方式使用查询构建器 api 时,如何分批实现它,例如 - 遍历 1000 个节点并以代码方式执行某些操作,然后继续查询并遍历下一个 1000 个节点等等?可能吗 ?
提前致谢。
解决方案
分页配置如下:
// can be done in map or with Query methods
map.put("p.offset", "0"); // same as query.setStart(0) below
map.put("p.limit", "20"); // same as query.setHitsPerPage(20) below
或者
query.setStart(0);
query.setHitsPerPage(20);
并在一个循环中遍历结果:
// iterating over the results
for (Hit hit : result.getHits()) {
String path = hit.getPath();
......
}
有关更多详细信息,请查看Implementing pagination
上面提供的页面。
推荐阅读
- php - 如果在结帐 Woocommerce 期间未设置名字和姓氏,请选择公司名称
- python - 使用 aiohttp 将 fastapi.Request 转发到另一个 API
- virtualbox - 在启动基于 Ububtu 的操作系统之前安装 VB Guest Additions
- amazon-web-services - 如何使用 FB 和 Google 登录在 Cognito 用户池中维护相同的配置文件?
- android - 当列表项在撰写中可拖动时,如何通过拖动打开导航抽屉?
- join - Spring Data JPA:使用 @EntityGraph 和 EntityGraphType.LOAD 不会加入 EAGER @OneToOne 关系
- javascript - 如何将日期或时间附加到图像并防止它使用 jQuery 或 JavaScript 进行缓存?
- sql - Flutter 使用 SOCKET IO 更新更新本地 SQLite 数据库插件
- amazon-web-services - 将数据迁移到云的最佳 AWS 架构解决方案
- microsoft-graph-api - Microsoft Graph API for Teams:发送频道/聊天消息