How to optimize Oak Lucene indexes to reduce indexing time
Optimize the Oak Lucene indexes using includedPaths and excludedPaths properties.
Description description
Environment
- Adobe Experience Manager 6.0 + Oak 1.0.16 or later
- Adobe Experience Manager 6.1 and 6.2
Issue/Symptoms
Optimize the AEM Oak Lucene indexes to reduce reindexing time.
Resolution resolution
You can optimize the Oak Lucene indexes by fine-tuning the oak: QueryIndexDefinition
with properties such as includedPaths
, excludedPaths
, name
and indexPath
.
includedPaths
andexcludedPaths
properties restrict what paths the index traverses when reindexing and which paths it listens to for index updates.name
andindexPath
properties make index logs easier to understand as they would tag the log messages with the path or name of the index. For example:
30.01.2017 14:07:12.934 *DEBUG* [ pool-8-thread-2] org.apache.jackrabbit.oak.plugins.index.lucene.LuceneIndexEditor [ damassetlucene(
/oak
:index
/damAssetLucene
)] => Indexed 9000 nodes...
Steps to optimize the indexes:
- Go to http://aem-host:port/crx/de/index.jsp and log in as admin.
- Browse to
/oak:index
. - Add the properties highlighted below
[
1]
to the corresponding indexes. TheincludedPaths
andexcludedPaths
properties should bemulti-value String (String[ ] )
. - Click Save All in CRXDe.
[
1]
/oak:index property modifications
"authorizables"
: {
"includedPaths"
: [
"/home"
] ,
"reindexCount"
: 1,
"name"
:
"authorizables"
,
"compatVersion"
: 2,
"reindex"
:
false
,
"type"
:
"lucene"
,
"jcr:primaryType"
:
"oak:QueryIndexDefinition"
,
"async"
:
"async"
,
"indexPath"
:
"/oak:index/authorizables"
},
"cqPageLucene"
: {
"includedPaths"
: [
"/content"
,
"/etc"
] ,
"reindexCount"
: 1,
"name"
:
"cq:Page"
,
"compatVersion"
: 2,
"reindex"
:
false
,
"type"
:
"lucene"
,
"jcr:primaryType"
:
"oak:QueryIndexDefinition"
,
"async"
:
"async"
,
"indexPath"
:
"/oak:index/cqPageLucene"
},
"cqTagLucene"
: {
"reindexCount"
: 1,
"name"
:
"cqTag"
,
"compatVersion"
: 2,
"reindex"
:
false
,
"type"
:
"lucene"
,
"jcr:primaryType"
:
"oak:QueryIndexDefinition"
,
"excludedPaths"
: [
"/var"
,
"/tmp"
,
"/etc/replication"
,
"/etc/workflow/instances"
,
"/jcr:system"
] ,
"async"
:
"async"
,
"indexPath"
:
"/oak:index/cqTagLucene"
},
"damAssetLucene"
: {
"includedPaths"
: [
"/content/dam"
] ,
"evaluatePathRestrictions"
:
true
,
"reindexCount"
: 1,
"name"
:
"damassetlucene"
,
"compatVersion"
: 2,
"reindex"
:
false
,
"type"
:
"lucene"
,
"jcr:primaryType"
:
"oak:QueryIndexDefinition"
,
"async"
:
"async"
,
"indexPath"
:
"/oak:index/damAssetLucene"
},
"lucene"
: {
"reindexCount"
: 1,
"name"
:
"lucene"
,
"reindex"
:
false
,
"includePropertyTypes"
: [
"String"
] ,
"type"
:
"lucene"
,
"jcr:primaryType"
:
"oak:QueryIndexDefinition"
,
"excludedPaths"
: [
"/var"
,
"/tmp"
,
"/etc/replication"
,
"/etc/workflow/instances"
,
"/jcr:system"
] ,
"async"
:
"async"
,
"indexPath"
:
"/oak:index/lucene"
},
"ntBaseLucene"
: {
"reindexCount"
: 1,
"name"
:
"tags"
,
"compatVersion"
: 2,
"reindex"
:
false
,
"type"
:
"lucene"
,
"jcr:primaryType"
:
"oak:QueryIndexDefinition"
,
"excludedPaths"
: [
"/var"
,
"/tmp"
,
"/etc/replication"
,
"/etc/workflow/instances"
,
"/jcr:system"
] ,
"async"
:
"async"
,
"indexPath"
:
"/oak:index/ntBaseLucene"
},
"workflowDataLucene"
: {
"reindexCount"
: 1,
"name"
:
"workflow"
,
"compatVersion"
: 2,
"reindex"
:
false
,
"type"
:
"lucene"
,
"jcr:primaryType"
:
"oak:QueryIndexDefinition"
,
"excludedPaths"
: [
"/var"
,
"/tmp"
,
"/etc/replication"
,
"/jcr:system"
] ,
"async"
:
"async"
,
"indexPath"
:
"/oak:index/workflowDataLucene"
}
recommendation-more-help
3d58f420-19b5-47a0-a122-5c9dab55ec7f