0
votes

As mentioned in adobe docs - OAK does not index anything by default & custom indexes need to be created when necessary.

But OOTB lucene index under /oak:index/lucene index all content text & binary by default which is 180 degree shift to above statement. If this is true than ideally same lucene index should be used for search and we should not see error.

Source - AEM Lucene OOTB Index - Q43

WARN Traversed 1000 nodes with filter Filter(query=select ...) consider creating an index or changing the query

Of course it does not index any property but still things should be good as most of times query goes for content only. Can anybody suggest?

1
Additionally when /oak:index/cqPageLucene is used?Finn
Its not clear what are you asking in the question. /oak:index/cqPageLucene is on the type cq:Page and for a number of properties like title, nodename, cq:lastRolledoutBy etc. so if I query for a page with title home, that index will be used.awd
Actually, if you process real query (from Filter statement above) in Oak Index Generator tool: oakutils.appspot.com/generate/index you'll see which properties are used an in what combination. It will help to understand your data structure and if that specific index is not configured in your system - that's where you are adding custom indexesJura Khrapunov

1 Answers

0
votes

As per oak docs following indexes are available OOTB and hold true for AEM repo as well. These may fulfill indexing/search needs OR may not depending upon use case as i hope aem will try to use below index defs as best as possible.

  • A property index for each indexed property.
  • A full-text index which is based on Apache Lucene / Solr.
  • A node type index (which is based on an property index for the properties cr:primaryType and jcr:mixins).
  • A traversal index that iterates over a subtree.

Finally for any search if AEM indexing module does not find any matching index definitions as above, it will go to repo traversal warning indexing error in logs to create index. So these scenarios will always fall under custom index definition creation process.