We have approximately 20000 assets.
There is a custom attribute on the asset ([asset]/jcr: content/metadata/marketing base information/releaseTime).
When using querybuilder.json to query assets, if using @ jcr: content/jcr: lastModified sorting, the speed is fast. If using releaseTime sorting, the query time is 1 minute.
I created an index, but it didn't work, and the query time is still 1 minute.
Is there a problem with my index creation?
Solved! Go to Solution.
Views
Replies
Total Likes
Hi @QingZhou ,
On 6.5 you can edit the /oak:index/damAssetLucene node and under aggregates (/oak:index/damAssetLucene/aggregates/dam:Asset) you should include jcr:content/metadata/marketing_base_information/releaseTime node
and then under /oak:index/damAssetLucene/indexRules/dam:Asset/properties, you can add your custom property like
<releaseTime
jcr:primaryType="nt:unstructured"
name="jcr:content/metadata/marketing_base_information/releaseTime"
boost="{Double}2.0"
ordered="{Boolean}true"
nodeScopeIndex="{Boolean}true"
propertyIndex="{Boolean}true"
type="Date"
/>
But make sure you use the index generator tool - http://oakutils.appspot.com/generate/index
it will give you the exact node structure you need to achieve.
Note - On AEM as a cloud, you will have to rename the damAssetLucene to damAssetLucene-8-custom-1 and keep adding for any new addition , refer - https://experienceleague.adobe.com/en/docs/experience-manager-cloud-service/content/operations/index...
Can you please cross-check, if the "releaseTime" has the ordered property like the jcr:LastModified OOTB?
"jcrLastModified": {
"jcr:primaryType": "nt:unstructured",
"ordered": true,
"propertyIndex": true,
"name": "jcr:content/jcr:lastModified",
"type": "Date"
},
Reason:
If the query uses sorting, have an explicit property definition for the sorted property and set ordered
to true
for it. This allows the results to be ordered as such in the index and save on costly sorting operations at query execution time.
Hi @QingZhou ,
On 6.5 you can edit the /oak:index/damAssetLucene node and under aggregates (/oak:index/damAssetLucene/aggregates/dam:Asset) you should include jcr:content/metadata/marketing_base_information/releaseTime node
and then under /oak:index/damAssetLucene/indexRules/dam:Asset/properties, you can add your custom property like
<releaseTime
jcr:primaryType="nt:unstructured"
name="jcr:content/metadata/marketing_base_information/releaseTime"
boost="{Double}2.0"
ordered="{Boolean}true"
nodeScopeIndex="{Boolean}true"
propertyIndex="{Boolean}true"
type="Date"
/>
But make sure you use the index generator tool - http://oakutils.appspot.com/generate/index
it will give you the exact node structure you need to achieve.
Note - On AEM as a cloud, you will have to rename the damAssetLucene to damAssetLucene-8-custom-1 and keep adding for any new addition , refer - https://experienceleague.adobe.com/en/docs/experience-manager-cloud-service/content/operations/index...