Indexing in AEMaaCS - behind the scenes

There has been a substantial change between AEM 6.5 and AEMaaCS in the way how indexing works.

A major change which users are facing is how AEM users deploy changes to their index definitions. A lot of AEM developers face problems in understanding how the indexing job in the deployment phase of their pipeline run works and even though they have access to the deploy step logs - it's hard at times to analyse and debug failures, if any.

This talk will present a brief overview of what happens inside the indexing job, how to analyse failures in the indexing step of the pipeline run and how to fix those.

AEMaaCS merge all asset index into single index during deployment. Is there a way to define custom index on assets or do you have any recommendations to work around it.
(see answer in talk video)
What happens to the lower versioned indexes once a new version is deployed?

Mohit Kataria

The lower version of index is not used to answer queries and is later garbage collected (after few days)

Alexander

How do we index properies in AEMCS

Jesse Pinkman

You can create property indexes in AEM https://experienceleague.adobe.com/en/docs/experience-manager-65/content/implementing/deploying/deploying/queries-and-indexing#the-property-index

Mohit Kataria

The above link provided is actually for AEM 6.5 , for AEMaaCS, adding new property indexes (type = property) is not supported. However, properties can still be indexed in lucene indexes (type = lucene) by adding a property restriction with propertyIndex=true. If the question was specifically in relation to the sync aspect of property indexes, then that can also be achieved using hybrid indexes, see https://jackrabbit.apache.org/oak/docs/query/hybrid-index.html . However, it should be thought upon if sync index is absolutely required for the property, or if an eventual consistent indexing model would work ?

Minion

Some AEM product indexes are not versioned. E.g. /oak:index/cqPageLucene. What is best practice for such cases?

Mohit Kataria

This indexes are OOTB indexes. In terms of versioning this is mapped to cqPageLucene-1. So if this needs to be customised the index version would be cqPageLucene-1-custom-1.

Diego

What do you need to do when you want to remove a custom index?

Mohit Kataria

This info is available at https://experienceleague.adobe.com/en/docs/experience-manager-cloud-service/content/operations/indexing#removing-an-index