当前位置: 首页 > 知识库问答 >
问题:

批处理中的AEM查询生成器查询

融修平
2023-03-14

我有以下工作查询

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

它在整个路径=/content/dam上运行,所以它遍历所有节点大约20分钟,并给出结果。

当以编程方式使用查询生成器api时,我如何才能批量使用它,比如-遍历1000个节点并按代码执行某些操作,然后继续查询并遍历下1000个节点等等?这可能吗?
谢谢。

共有1个答案

艾俊晖
2023-03-14

您可以从这里使用分页方法:https://helpx.adobe.com/experience-manager/6-3/sites/developing/using/querybuilder-api.html#ExampleQueryBuilderAPIUsage

分页按以下方式配置

// 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();
    ......
}

有关更多详细信息,请查看上面提供的页面上的实现分页

 类似资料:
  • 我正在构建一个简单的元数据表,从查询中获取数据。我希望能够查询“type”变量的两个选项。然而| |不起作用;当我使用这个时,页面崩溃。

  • 我需要得到一些资产节点使用查询生成器我如何搜索我的gving文件夹路径 从这个资产 我只需要得到1,2,3,4,这意味着“myDatas”文件夹包含。需要使用查询生成器获取此节点

  • 如何在给定节点下列出多个属性的所有属性和各自的值。 例如,在下面的代码中,我只能搜索一个属性。但我需要搜索10个不同的属性(alttext、img、promos等),并获得相应的值(如果存在)。

  • 如何在下面的查询生成器代码段中获得industries page属性有值的结果?(即,其值不是空字符串)

  • 我需要创建一个查询,其中参数如下: 但是,我需要排除这个总括文件夹中的某个路径,比如:,然后在所有其他文件夹中搜索(其数量不断变化) 有没有办法做到这一点?我没有在网上找到它。 我还尝试了操作,因为父路径被保存在JCR属性中,但仍然没有运气。我实际上需要来避免路径的所有出现。但是没有这样的事情:

  • 我试图根据特定属性的特定值对AEM query builder搜索结果进行排序。就像在MySQL这样的数据库中一样,我们也可以根据列的值进行排序(例如,按字段排序('columnName','anyColumnName'))。我们可以在AEM中使用类似的东西吗。 假设我们在path/content/dam/Assets下有5个资产。 资产名称------------dc: title 1.jpg-