Expand my Community achievements bar.

SOLVED

Query modification

Avatar

Level 4

There is a query being run when assets are updated that is taking a long time as the number of assets increases. The query isn't in any of the code that I manage so I believe it is in some of the standard Adobe workflow code. How do I fix the performance?

The query being run is:


XPATH /jcr:root/content/dam/images//element(*, nt:unstructured)[fn:name() = 'metadata' and @itemNumber = 'some_item_number']

I've added an oak index for the itemNumber where the propertyNames = itemNumber, reindex = false, reindexCount = 3, and type = property. When I run the query analysis, it says it isn't using any indexes. The client is using AEM to warehouse and manage images for their production web services. Therefor, there is a huge catalogue of images and performance gets worse and worse as they upload images. I'd like to get this to where I can get the index to work and make the system much more efficient. Image processing goes from taking a few minutes to days in a hurry.

 

Thanks in advance.

1 Accepted Solution

Avatar

Correct answer by
Employee

Hi,

according to [1]:

"It is recommended to index one property per index. (If multiple properties are indexed within one index, then the index contains all nodes that has either one of the properties, which can make the query less efficient, and can make the query pick the wrong index.)"

I would create a lucene property index and try that[2].

It's suggested that lucence is the default option to try first[3] unless you must have a property index(must be synchronous being one of the criteria)

Regards,

Opkar

[1]https://jackrabbit.apache.org/oak/docs/query/query.html

[2] https://jackrabbit.apache.org/oak/docs/query/lucene.html

[3] http://adapt.to/2015/en/schedule/scaling-the-query-with-oak.html

View solution in original post

3 Replies

Avatar

Employee

Hi,

what version of AEM is this and what hotfixes/Service Packs have you applied?

Regards,

Opkar

Avatar

Level 4

Adobe Experience Manager (6.1.0.20150507)

No hot fixes or service packs yet, that I know of.

Avatar

Correct answer by
Employee

Hi,

according to [1]:

"It is recommended to index one property per index. (If multiple properties are indexed within one index, then the index contains all nodes that has either one of the properties, which can make the query less efficient, and can make the query pick the wrong index.)"

I would create a lucene property index and try that[2].

It's suggested that lucence is the default option to try first[3] unless you must have a property index(must be synchronous being one of the criteria)

Regards,

Opkar

[1]https://jackrabbit.apache.org/oak/docs/query/query.html

[2] https://jackrabbit.apache.org/oak/docs/query/lucene.html

[3] http://adapt.to/2015/en/schedule/scaling-the-query-with-oak.html