AEM oak indexing is a very crucial and important concept as performance of all queries depends upon how oak has indexed the properties in back-end. I have received multiple request to write on indexing in aem as this is a very vast concept and very limited knowledge and documentation is available on internet. Because if no index is found for a specific query, then whole repository will be traversed, which is a very costly operation and might result in temporary freeze/hang of system/instance if multiple full path traversal queries are fired.
In this tutorial i will try my best to describe what are the type of index available in oak and which one should be used when in aem. As oak does not index as much content by default as Jackrabbit 2 does earlier and we have to create custom index to improve performance of query. So I will also cover how to create custom lucene and property index as part of this tutorial. After completing this tutorial you will have clear understanding about:-