Unlike Jackrabbit 2, Oak does not index content by default. Custom indexes need to be created when necessary, much like with traditional relational databases. If there is no index for a specific query, possibly many nodes will be traversed. The query may still work but probably be very slow.
If Oak encounters a query without an index, a WARN level log message is printed:
*WARN* Traversed 1000 nodes with filter Filter(query=select ...) consider creating an index or changing the query
Indexer types and cost calculation
The Apache Oak based backend allows different indexers to be plugged into the repository.
One indexer is the Property Index , for which the index definition is stored in the repository itself.
Implementations for Apache Lucene and Solr are also available by default, which both support fulltext indexing.
The Traversal Index is used if no other indexer is available. This means that the content is not indexed and content nodes are traversed to find matches to the query.