Je dois créer une requête où les params sont comme:constructeur AEM Interrogation exclure un dossier à la recherche
queryParams.put("path", "/content/myFolder");
queryParams.put("1_property", "myProperty");
queryParams.put("1_property.operation", "exists");
queryParams.put("p.limit", "-1");
Mais, je dois exclure un certain chemin dans ce dossier de couverture, par exemple: "/content/myFolder/wrongFolder"
et rechercher dans tous les autres dossiers (dont le nombre ne cesse de varier)
Y a-t-il un moyen de le faire? Je ne l'ai pas trouvé exactement en ligne.
J'ai également essayé l'opération unequals
car le chemin parent est enregistré dans une propriété JCR, mais toujours pas de chance. J'ai vraiment besoin de unlike
pour éviter toutes les occurrences du chemin. Mais il n'y a pas une telle chose:
path=/main/path/to/search/in
group.1_property=cq:parentPath
group.1_property.operation=unequals
group.1_property.value=/path/to/be/avoided
group.2_property=myProperty
group.2_property.operation=exists
group.p.or=true
p.limit=-1
si la requête SQL2 fonctionnera pour vous, alors vous pouvez exécuter comme cette requête: sélectionnez * from [nt: non structuré] comme p où (isdescendantnode (p, [/ content/myFolder /]) et n'est pas isdescendantnode (p, [/ content/myFolder/wrongFolder /])) et contient (p. *, 'myProperty') Faites-moi savoir si cela fonctionne. –
@SumantaPakira, je ne peux pas utiliser SQL2 pour l'instant, car il faudra un changement majeur dans l'application. Par conséquent, la recherche d'une solution uniquement dans le générateur de requêtes pour l'instant. –