Пакетный запрос построителя запросов AEM - PullRequest
0 голосов
/ 05 мая 2020

У меня есть следующий рабочий запрос

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 узлов и скоро ? Возможно ли это?
Заранее спасибо.

1 Ответ

0 голосов
/ 26 мая 2020

Вы можете использовать подход разбивки на страницы отсюда: 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);

и go приводят к al oop:

// iterating over the results
for (Hit hit : result.getHits()) {
    String path = hit.getPath();
    ......
}

Для получения более подробной информации, пожалуйста, загляните в Implementing pagination на указанной выше странице.

...