Using querybuilder to retrieve all assets with particular property | Community
Skip to main content
July 24, 2020
Solved

Using querybuilder to retrieve all assets with particular property

  • July 24, 2020
  • 3 replies
  • 8619 views

Hi everyone,

I have a requirement where I need to search for all the assets with a particular property. I am trying to use Query Builder API for it. My assets are under multiple different folders under /content/dam. They can be in /content/dam/abc or /content/dam/abc/def or even /content/dam/ghi. There can be multiple child folders or parallel folders where my assets are present. How do I search for all assets which have one property in common in all these different paths? If I use path=/content/dam in my query, it doesn't give any result as all my assets are in one or the other folder but since there are multiple folders I cannot give one definite path. I am using AEM 6.4.2

This post is no longer active and is closed to new replies. Need help? Start a new post to ask your question.
Best answer by BrianKasingli

@anshusingh2701,

Where you are querying, /content/dam, will show you 0 results, it maybe because your AEM platform has reached the maximum node traversal, LimitReads of 10,000. You will need to change the limit from your environment's system/console, but please be warned as when you increase this number, it may affect the overall performance.

http://localhost:4502/system/console/jmx/org.apache.jackrabbit.oak%3Aname%3Dsettings%2Ctype%3DQueryEngineSettings

Give this a try.

 

3 replies

Nupur_Jain
Adobe Employee
Adobe Employee
July 24, 2020

Hi @anshusingh2701 

 

In order to find for all assets with particular property, you can use

path=/content/dam
type=dam:Asset
property=jcr:content/metadata/dc:format
property.value=image/png
p.limit=-1

 

The above query should search in depth to get all assets.

 

If you are looking for defining multiple paths in query, you can use something like that:

 

group.p.or=true
group.1_path=/content/dam/we-retail-screens
group.2_path=/content/dam/we-retail
property=jcr:content/metadata/dc:format
property.value=image/png
p.limit=-1

 

Hope it helps!

Thanks!

Nupur

July 24, 2020

if I give path=/content/dam it returns error for me. Only If I give complete asset folder path I get the resultset. But I do not know which all folders might have the asset with the required property. It can be under any folder under /content/dam and can be under under multiple child folders like /content/dam/abc/asset.jpg or /content/dam/abc/def/asset.jpg or content/dam/ghi/asset.jpg. Only the root folder I know which is /content/dam

VeenaVikraman
Community Advisor
Community Advisor
July 24, 2020

Hi @anshusingh2701 

 

   Can you share the query you are trying now ? If you are giving path as /content/dam , it should eventually look under evry folder below dam . So the issue might be with the rest of the properties you are giving. @nupur_jain has put some sample queries. Please check if any of those helps ?

 

Thanks

Veena

BrianKasingli
Community Advisor and Adobe Champion
BrianKasingliCommunity Advisor and Adobe ChampionAccepted solution
Community Advisor and Adobe Champion
July 24, 2020

@anshusingh2701,

Where you are querying, /content/dam, will show you 0 results, it maybe because your AEM platform has reached the maximum node traversal, LimitReads of 10,000. You will need to change the limit from your environment's system/console, but please be warned as when you increase this number, it may affect the overall performance.

http://localhost:4502/system/console/jmx/org.apache.jackrabbit.oak%3Aname%3Dsettings%2Ctype%3DQueryEngineSettings

Give this a try.