Hi,
I am using the below query to perform a full-text site search in content and another dam location which has PDFs
group.1_group.path=/content/projectname
group.1_group.type=cq:Page
group.1_group.property=jcr:content/excludeInSearch
group.1_group.property.value=false
group.1_group.property.operation=exists
group.1_group.fulltext=testcontent
group.2_group.path=/content/dam/projectname/forms
group.2_group.type=dam:Asset
group.2_group.fulltext=saa
p.limit=-1
group.p.or=true
As per suggestions from daycare, we were requested to not use any custom lucene index and add included paths to the below default indices
/oak:index/cqPageLucene
/oak:index/damAssetLucene
The indices under /oak:index/cqPageLucene/aggregates/cq:PageContent seems to have only 3 levels (i.e include0 to include2).
Hence it is missing content that is in components below the third level in the hierarchy. Modifying/adding more levels creates issues with accessing the editable templates from the authoring mode.
Can anyone please suggest what would be the best approach to create the index for this search query?
Solved! Go to Solution.
Views
Replies
Total Likes
The solution was to use "queryPaths" in case you want to run your query only on specific paths and not on the entire repo when you have pre-configured "includedPaths" and "excludedPaths".
This is what worked -
queryPaths Optional multi value property. Defaults to ‘/’List of paths for which the index can be used to perform queries. Refer to Path Includes/Excludes for more details
Views
Replies
Total Likes
could you share the index definitions or pagelucene and damassetlucene? In addition to that, could you share the explain plan?
Do you see that the results are not picked up from nodes greater than level 3? Could you test that on we-retail?
adding more levels shouldn't be a problem, I'm not sure how is accessing templates related to index levels.
What version of AEM/Oak do you use?
Views
Replies
Total Likes
Hi,
Below are the cqPageLucene and damAssetLucene indices
<?xml version="1.0" encoding="UTF-8"?>
<jcr:root xmlns:oak="http://jackrabbit.apache.org/oak/ns/1.0" xmlns:dam="http://www.day.com/dam/1.0" xmlns:cq="http://www.day.com/jcr/cq/1.0" xmlns:jcr="http://www.jcp.org/jcr/1.0" xmlns:nt="http://www.jcp.org/jcr/nt/1.0" xmlns:rep="internal"
jcr:mixinTypes="[rep:AccessControllable]"
jcr:primaryType="nt:unstructured">
<socialLucene/>
<workflowDataLucene/>
<slingeventJob/>
<jcrLanguage/>
<versionStoreIndex/>
<repMembers/>
<cqReportsLucene/>
<commerceLucene/>
<counter/>
<jhasLucene/>
<authorizables/>
<enablementResourceName/>
<externalPrincipalNames/>
<cmLucene/>
<cqProjectLucene/>
<acPrincipalName/>
<uuid/>
<damAssetLucene
jcr:primaryType="oak:QueryIndexDefinition"
async="[async,nrt]"
compatVersion="{Long}2"
evaluatePathRestrictions="{Boolean}true"
includedPaths="[/content/dam]"
reindex="{Boolean}false"
reindexCount="{Long}1"
type="lucene">
<aggregates jcr:primaryType="nt:unstructured">
<dam:Asset jcr:primaryType="nt:unstructured">
<include0
jcr:primaryType="nt:unstructured"
path="jcr:content"/>
<include1
jcr:primaryType="nt:unstructured"
path="jcr:content/metadata"/>
<include2
jcr:primaryType="nt:unstructured"
path="jcr:content/metadata/*"/>
<include3
jcr:primaryType="nt:unstructured"
path="jcr:content/renditions"/>
<include4
jcr:primaryType="nt:unstructured"
path="jcr:content/renditions/original"/>
<include5
jcr:primaryType="nt:unstructured"
path="jcr:content/renditions/original/jcr:content"/>
<include6
jcr:primaryType="nt:unstructured"
path="jcr:content/comments"/>
<include7
jcr:primaryType="nt:unstructured"
path="jcr:content/comments/*"/>
<include8
jcr:primaryType="nt:unstructured"
path="jcr:content/data/master"/>
<include9
jcr:primaryType="nt:unstructured"
path="jcr:content/usages"/>
</dam:Asset>
</aggregates>
<indexRules jcr:primaryType="nt:unstructured">
<dam:Asset jcr:primaryType="nt:unstructured">
<properties jcr:primaryType="nt:unstructured">
<cqTags
jcr:primaryType="nt:unstructured"
name="jcr:content/metadata/cq:tags"
nodeScopeIndex="{Boolean}true"
propertyIndex="{Boolean}true"
useInSpellcheck="{Boolean}true"
useInSuggest="{Boolean}true"/>
<dcFormat
jcr:primaryType="nt:unstructured"
analyzed="{Boolean}true"
name="jcr:content/metadata/dc:format"
propertyIndex="{Boolean}true"/>
<damStatus
jcr:primaryType="nt:unstructured"
name="jcr:content/metadata/dam:status"
propertyIndex="{Boolean}true"/>
<videoCodec
jcr:primaryType="nt:unstructured"
name="jcr:content/metadata/videoCodec"
propertyIndex="{Boolean}true"/>
<audioCodec
jcr:primaryType="nt:unstructured"
name="jcr:content/metadata/audioCodec"
propertyIndex="{Boolean}true"/>
<dcTitle
jcr:primaryType="nt:unstructured"
boost="{Double}2.0"
name="jcr:content/metadata/dc:title"
nodeScopeIndex="{Boolean}true"
ordered="{Boolean}true"
propertyIndex="{Boolean}true"
useInSpellcheck="{Boolean}true"
useInSuggest="{Boolean}true"/>
<dcDescription
jcr:primaryType="nt:unstructured"
name="jcr:content/metadata/dc:description"
nodeScopeIndex="{Boolean}true"
propertyIndex="{Boolean}true"
useInSpellcheck="{Boolean}true"
useInSuggest="{Boolean}true"/>
<xmpMMInstanceId
jcr:primaryType="nt:unstructured"
name="jcr:content/metadata/xmpMM:InstanceID"
propertyIndex="{Boolean}true"/>
<xmpMMDocumentId
jcr:primaryType="nt:unstructured"
name="jcr:content/metadata/xmpMM:DocumentID"
propertyIndex="{Boolean}true"/>
<damSha1
jcr:primaryType="nt:unstructured"
name="jcr:content/metadata/dam:sha1"
propertyIndex="{Boolean}true"/>
<hasValidMetadata
jcr:primaryType="nt:unstructured"
name="jcr:content/hasValidMetadata"
propertyIndex="{Boolean}true"
type="Boolean"/>
<refExpired
jcr:primaryType="nt:unstructured"
name="jcr:content/metadata/refExpired"
propertyIndex="{Boolean}true"
type="Boolean"/>
<videoBitrate
jcr:primaryType="nt:unstructured"
name="jcr:content/metadata/videoBitrate"
propertyIndex="{Boolean}true"/>
<audioBitrate
jcr:primaryType="nt:unstructured"
name="jcr:content/metadata/audioBitrate"
propertyIndex="{Boolean}true"/>
<usedBy
jcr:primaryType="nt:unstructured"
name="jcr:content/usages/usedBy"
propertyIndex="{Boolean}true"/>
<jcrLastModified
jcr:primaryType="nt:unstructured"
name="jcr:content/jcr:lastModified"
ordered="{Boolean}true"
propertyIndex="{Boolean}true"
type="Date"/>
<expirationDate
jcr:primaryType="nt:unstructured"
name="jcr:content/metadata/prism:expirationDate"
ordered="{Boolean}true"
propertyIndex="{Boolean}true"
type="Date"/>
<onTime
jcr:primaryType="nt:unstructured"
name="jcr:content/onTime"
ordered="{Boolean}true"
propertyIndex="{Boolean}true"
type="Date"/>
<offTime
jcr:primaryType="nt:unstructured"
name="jcr:content/offTime"
ordered="{Boolean}true"
propertyIndex="{Boolean}true"
type="Date"/>
<damSize
jcr:primaryType="nt:unstructured"
name="jcr:content/metadata/dam:size"
ordered="{Boolean}true"
propertyIndex="{Boolean}true"
type="Long"/>
<averageRating
jcr:primaryType="nt:unstructured"
name="jcr:content/averageRating"
ordered="{Boolean}true"
propertyIndex="{Boolean}true"
type="Double"/>
<tiffImageWidth
jcr:primaryType="nt:unstructured"
name="jcr:content/metadata/tiff:ImageWidth"
ordered="{Boolean}true"
propertyIndex="{Boolean}true"
type="Long"/>
<tiffImageLength
jcr:primaryType="nt:unstructured"
name="jcr:content/metadata/tiff:ImageLength"
ordered="{Boolean}true"
propertyIndex="{Boolean}true"
type="Long"/>
<score
jcr:primaryType="nt:unstructured"
name="jcr:content/usages/dam:score"
ordered="{Boolean}true"
propertyIndex="{Boolean}true"
type="Long"/>
<predictedTags
jcr:primaryType="nt:unstructured"
isRegexp="{Boolean}true"
name="jcr:content/metadata/predictedTags/*/name"/>
<predictedTagsConfidence
jcr:primaryType="nt:unstructured"
isRegexp="{Boolean}true"
name="jcr:content/metadata/predictedTags/*/confidence"/>
<damSearchElevate
jcr:primaryType="nt:unstructured"
analyzed="{Boolean}true"
boost="{Double}100.0"
name="jcr:content/metadata/dam:search_promote"
nodeScopeIndex="{Boolean}true"
propertyIndex="{Boolean}true"/>
<jcrTitle
jcr:primaryType="nt:unstructured"
boost="{Double}2.0"
name="jcr:content/jcr:title"
nodeScopeIndex="{Boolean}true"
propertyIndex="{Boolean}true"
useInSpellcheck="{Boolean}true"
useInSuggest="{Boolean}true"/>
<jcrDescription
jcr:primaryType="nt:unstructured"
name="jcr:content/jcr:description"
nodeScopeIndex="{Boolean}true"
propertyIndex="{Boolean}true"
useInSpellcheck="{Boolean}true"
useInSuggest="{Boolean}true"/>
<jcrCreated
jcr:primaryType="nt:unstructured"
name="jcr:created"
ordered="{Boolean}true"
propertyIndex="{Boolean}true"
type="Date"/>
<cqLastReplicated
jcr:primaryType="nt:unstructured"
name="jcr:content/cq:lastReplicated"
ordered="{Boolean}true"
propertyIndex="{Boolean}true"
type="Date"/>
<brandPortalReplicated
jcr:primaryType="nt:unstructured"
name="jcr:content/dam:portalReplicationDate"
ordered="{Boolean}true"
propertyIndex="{Boolean}true"
type="Date"/>
</properties>
</dam:Asset>
</indexRules>
</damAssetLucene>
<rep:policy/>
<cqPayloadPath/>
<nodetypeLucene/>
<nodetype/>
<ntBaseLucene/>
<reference/>
<principalName/>
<cqTagLucene/>
<lucene/>
<repTokenIndex/>
<externalId/>
<authorizableId/>
<cqPageLucene
jcr:primaryType="oak:QueryIndexDefinition"
async="[async,nrt]"
compatVersion="{Long}2"
evaluatePathRestrictions="{Boolean}true"
excludedPaths="[/var,/etc/replication,/etc/workflow/instances,/jcr:system]"
includedPaths="[/content/projectname]"
reindex="{Boolean}false"
reindexCount="{Long}1"
type="lucene">
<aggregates jcr:primaryType="nt:unstructured">
<cq:Page jcr:primaryType="nt:unstructured">
<include0
jcr:primaryType="nt:unstructured"
path="jcr:content"
relativeNode="{Boolean}true"/>
</cq:Page>
<nt:file jcr:primaryType="nt:unstructured">
<include0
jcr:primaryType="nt:unstructured"
path="jcr:content"/>
</nt:file>
<cq:PageContent jcr:primaryType="nt:unstructured">
<include0
jcr:primaryType="nt:unstructured"
path="*"/>
<include1
jcr:primaryType="nt:unstructured"
path="*/*"/>
<include2
jcr:primaryType="nt:unstructured"
path="*/*/*"/>
<include3
jcr:primaryType="nt:unstructured"
path="*/*/*/*"/>
<include4
jcr:primaryType="nt:unstructured"
path="*/*/*/*/*"/>
<include4
jcr:primaryType="nt:unstructured"
path="*/*/*/*/*"/>
</cq:PageContent>
</aggregates>
<indexRules jcr:primaryType="nt:unstructured">
<cq:Page jcr:primaryType="nt:unstructured">
<properties jcr:primaryType="nt:unstructured">
<cqLastModified
jcr:primaryType="nt:unstructured"
name="jcr:content/cq:lastModified"
ordered="{Boolean}true"
propertyIndex="{Boolean}true"
type="Date"/>
<jcrTitle
jcr:primaryType="nt:unstructured"
name="jcr:content/jcr:title"
nodeScopeIndex="{Boolean}true"
propertyIndex="{Boolean}true"
type="String"
useInSpellcheck="{Boolean}true"
useInSuggest="{Boolean}true"/>
<pageTitle
jcr:primaryType="nt:unstructured"
name="jcr:content/pageTitle"
nodeScopeIndex="{Boolean}true"
propertyIndex="{Boolean}true"
type="String"
useInSpellcheck="{Boolean}true"
useInSuggest="{Boolean}true"/>
<navTitle
jcr:primaryType="nt:unstructured"
name="jcr:content/navTitle"
nodeScopeIndex="{Boolean}true"
propertyIndex="{Boolean}true"
type="String"
useInSpellcheck="{Boolean}true"
useInSuggest="{Boolean}true"/>
<nodeName
jcr:primaryType="nt:unstructured"
name=":nodeName"
nodeScopeIndex="{Boolean}true"
propertyIndex="{Boolean}true"
type="String"
useInSpellcheck="{Boolean}true"
useInSuggest="{Boolean}true"/>
<cqLastRolledoutBy
jcr:primaryType="nt:unstructured"
name="jcr:content/cq:lastRolledoutBy"
propertyIndex="{Boolean}true"
type="String"/>
<location
jcr:primaryType="nt:unstructured"
name="jcr:content/location"
notNullCheckEnabled="{Boolean}true"
propertyIndex="{Boolean}true"
type="String"/>
</properties>
</cq:Page>
</indexRules>
</cqPageLucene>
</jcr:root>
There was another approach I tried as below which was combining both the indices into a common custom index and providing the included paths there. Is this a correct way to set up the index?
<?xml version="1.0" encoding="UTF-8"?>
<jcr:root xmlns:oak="http://jackrabbit.apache.org/oak/ns/1.0" xmlns:dam="http://www.day.com/dam/1.0" xmlns:cq="http://www.day.com/jcr/cq/1.0" xmlns:jcr="http://www.jcp.org/jcr/1.0" xmlns:nt="http://www.jcp.org/jcr/nt/1.0" xmlns:rep="internal"
jcr:mixinTypes="[rep:AccessControllable]"
jcr:primaryType="nt:unstructured">
<socialLucene/>
<workflowDataLucene/>
<slingeventJob/>
<jcrLanguage/>
<versionStoreIndex/>
<repMembers/>
<cqReportsLucene/>
<commerceLucene/>
<counter/>
<jhasLucene
jcr:primaryType="oak:QueryIndexDefinition"
async="async"
compatVersion="{Long}2"
evaluatePathRestrictions="{Boolean}true"
excludedPaths="[/var,/etc,/jcr:system,/libs,/apps]"
includedPaths="[/content/projectname,/content/dam/projectname]"
reindex="{Boolean}false"
reindexCount="{Long}7"
type="lucene">
<aggregates jcr:primaryType="nt:unstructured">
<dam:Asset jcr:primaryType="nt:unstructured">
<include0
jcr:primaryType="nt:unstructured"
path="jcr:content"/>
<include1
jcr:primaryType="nt:unstructured"
path="jcr:content/metadata"/>
<include2
jcr:primaryType="nt:unstructured"
path="jcr:content/metadata/*"/>
<include3
jcr:primaryType="nt:unstructured"
path="jcr:content/renditions"/>
<include4
jcr:primaryType="nt:unstructured"
path="jcr:content/renditions/original"/>
<include5
jcr:primaryType="nt:unstructured"
path="jcr:content/renditions/original/jcr:content"/>
<include6
jcr:primaryType="nt:unstructured"
path="jcr:content/comments"/>
<include7
jcr:primaryType="nt:unstructured"
path="jcr:content/comments/*"/>
<include8
jcr:primaryType="nt:unstructured"
path="jcr:content/usages"/>
</dam:Asset>
<cq:Page jcr:primaryType="nt:unstructured">
<include0
jcr:primaryType="nt:unstructured"
path="jcr:content"
relativeNode="{Boolean}true"/>
</cq:Page>
<cq:PageContent jcr:primaryType="nt:unstructured">
<include0
jcr:primaryType="nt:unstructured"
path="*"
relativeNode="{Boolean}false"/>
<include1
jcr:primaryType="nt:unstructured"
path="*/*"
relativeNode="{Boolean}false"/>
<include2
jcr:primaryType="nt:unstructured"
path="*/*/*"
relativeNode="{Boolean}false"/>
<include3
jcr:primaryType="nt:unstructured"
path="*/*/*/*"
relativeNode="{Boolean}false"/>
<include4
jcr:primaryType="nt:unstructured"
path="*/*/*/*/*"
relativeNode="{Boolean}false"/>
<include5
jcr:primaryType="nt:unstructured"
path="*/*/*/*/*/*"
relativeNode="{Boolean}false"/>
</cq:PageContent>
</aggregates>
<indexRules jcr:primaryType="nt:unstructured">
<cq:Page jcr:primaryType="nt:unstructured">
<properties jcr:primaryType="nt:unstructured">
<cqLastModified
jcr:primaryType="nt:unstructured"
name="jcr:content/cq:lastModified"
ordered="{Boolean}true"
propertyIndex="{Boolean}true"
type="Date"/>
<jcrTitle
jcr:primaryType="nt:unstructured"
name="jcr:content/jcr:title"
nodeScopeIndex="{Boolean}true"
ordered="{Boolean}false"
propertyIndex="{Boolean}true"
type="String"
useInSpellcheck="{Boolean}true"
useInSuggest="{Boolean}true"/>
<pageTitle
jcr:primaryType="nt:unstructured"
name="jcr:content/pageTitle"
nodeScopeIndex="{Boolean}true"
ordered="{Boolean}false"
propertyIndex="{Boolean}true"
type="String"
useInSpellcheck="{Boolean}true"
useInSuggest="{Boolean}true"/>
<navTitle
jcr:primaryType="nt:unstructured"
name="jcr:content/navTitle"
nodeScopeIndex="{Boolean}true"
ordered="{Boolean}false"
propertyIndex="{Boolean}true"
type="String"
useInSpellcheck="{Boolean}true"
useInSuggest="{Boolean}true"/>
<nodeName
jcr:primaryType="nt:unstructured"
name=":nodeName"
nodeScopeIndex="{Boolean}true"
ordered="{Boolean}false"
propertyIndex="{Boolean}true"
type="String"
useInSpellcheck="{Boolean}true"
useInSuggest="{Boolean}true"/>
<cqLastRolledoutBy
jcr:primaryType="nt:unstructured"
name="jcr:content/cq:lastRolledoutBy"
ordered="{Boolean}false"
propertyIndex="{Boolean}true"
type="String"/>
<excludeinsearch
jcr:primaryType="nt:unstructured"
name="jcr:content/excludeInSearch"
nodeScopeIndex="{Boolean}true"
nullCheckEnabled="{Boolean}true"
ordered="{Boolean}false"
propertyIndex="{Boolean}true"
type="Boolean"/>
</properties>
</cq:Page>
<dam:Asset jcr:primaryType="nt:unstructured">
<properties jcr:primaryType="nt:unstructured">
<cqTags
jcr:primaryType="nt:unstructured"
name="jcr:content/metadata/cq:tags"
nodeScopeIndex="{Boolean}true"
propertyIndex="{Boolean}true"
useInSpellcheck="{Boolean}true"
useInSuggest="{Boolean}true"/>
<dcFormat
jcr:primaryType="nt:unstructured"
analyzed="{Boolean}true"
name="jcr:content/metadata/dc:format"
propertyIndex="{Boolean}true"/>
<damStatus
jcr:primaryType="nt:unstructured"
name="jcr:content/metadata/dam:status"
propertyIndex="{Boolean}true"/>
<videoCodec
jcr:primaryType="nt:unstructured"
name="jcr:content/metadata/videoCodec"
propertyIndex="{Boolean}true"/>
<audioCodec
jcr:primaryType="nt:unstructured"
name="jcr:content/metadata/audioCodec"
propertyIndex="{Boolean}true"/>
<dcTitle
jcr:primaryType="nt:unstructured"
boost="{Double}2.0"
name="jcr:content/metadata/dc:title"
nodeScopeIndex="{Boolean}true"
propertyIndex="{Boolean}true"
useInSpellcheck="{Boolean}true"
useInSuggest="{Boolean}true"/>
<dcDescription
jcr:primaryType="nt:unstructured"
name="jcr:content/metadata/dc:description"
nodeScopeIndex="{Boolean}true"
propertyIndex="{Boolean}true"
useInSpellcheck="{Boolean}true"
useInSuggest="{Boolean}true"/>
<xmpMMInstanceId
jcr:primaryType="nt:unstructured"
name="jcr:content/metadata/xmpMM:InstanceID"
propertyIndex="{Boolean}true"/>
<xmpMMDocumentId
jcr:primaryType="nt:unstructured"
name="jcr:content/metadata/xmpMM:DocumentID"
propertyIndex="{Boolean}true"/>
<damSha1
jcr:primaryType="nt:unstructured"
name="jcr:content/metadata/dam:sha1"
propertyIndex="{Boolean}true"/>
<hasValidMetadata
jcr:primaryType="nt:unstructured"
name="jcr:content/hasValidMetadata"
propertyIndex="{Boolean}true"
type="Boolean"/>
<videoBitrate
jcr:primaryType="nt:unstructured"
name="jcr:content/metadata/videoBitrate"
propertyIndex="{Boolean}true"/>
<audioBitRate
jcr:primaryType="nt:unstructured"
name="jcr:content/metadata/audioBitrate"
propertyIndex="{Boolean}true"/>
<usedBy
jcr:primaryType="nt:unstructured"
name="jcr:content/usages/usedBy"
propertyIndex="{Boolean}true"/>
<jcrLastModified
jcr:primaryType="nt:unstructured"
name="jcr:content/jcr:lastModified"
ordered="{Boolean}true"
propertyIndex="{Boolean}true"
type="Date"/>
<expirationDate
jcr:primaryType="nt:unstructured"
name="jcr:content/metadata/prism:expirationDate"
ordered="{Boolean}true"
propertyIndex="{Boolean}true"
type="Date"/>
<onTime
jcr:primaryType="nt:unstructured"
name="jcr:content/onTime"
ordered="{Boolean}true"
propertyIndex="{Boolean}true"
type="Date"/>
<offTime
jcr:primaryType="nt:unstructured"
name="jcr:content/offTime"
ordered="{Boolean}true"
propertyIndex="{Boolean}true"
type="Date"/>
<damSize
jcr:primaryType="nt:unstructured"
name="jcr:content/metadata/dam:size"
ordered="{Boolean}true"
propertyIndex="{Boolean}true"
type="Long"/>
<averageRating
jcr:primaryType="nt:unstructured"
name="jcr:content/averageRating"
ordered="{Boolean}true"
propertyIndex="{Boolean}true"
type="Double"/>
<tiffImageWidth
jcr:primaryType="nt:unstructured"
name="jcr:content/metadata/tiff:ImageWidth"
ordered="{Boolean}true"
propertyIndex="{Boolean}true"
type="Long"/>
<tiffImageLength
jcr:primaryType="nt:unstructured"
name="jcr:content/metadata/tiff:ImageLength"
ordered="{Boolean}true"
propertyIndex="{Boolean}true"
type="Long"/>
<score
jcr:primaryType="nt:unstructured"
name="jcr:content/usages/dam:score"
ordered="{Boolean}true"
propertyIndex="{Boolean}true"
type="Long"/>
<damRelativePath
jcr:primaryType="nt:unstructured"
analyzed="{Boolean}true"
name="jcr:content/dam:relativePath"
propertyIndex="{Boolean}true"/>
</properties>
</dam:Asset>
</indexRules>
</jhasLucene>
<authorizables/>
<enablementResourceName/>
<externalPrincipalNames/>
<cmLucene/>
<cqProjectLucene/>
<acPrincipalName/>
<uuid/>
<damAssetLucene/>
<rep:policy/>
<cqPayloadPath/>
<nodetypeLucene/>
<nodetype/>
<ntBaseLucene/>
<reference/>
<principalName/>
<cqTagLucene/>
<lucene/>
<repTokenIndex/>
<externalId/>
<authorizableId/>
<cqPageLucene/>
</jcr:root>
Views
Replies
Total Likes
Watch this GEMS sessions here -- Best Practices for Indexing and Queries in AEM
Views
Replies
Total Likes
It seems that you were already using the custom index reflected by reindexcount property. Could you share more details about the issue that you faced/are facing with it?
Is the issue that custom index is not getting picked up or is it about the performance of query(ies) or that relevant content is not getting picked up? The custom index could be further tweaked, if required.
/oak:index/cqPageLucene/aggregates/cq:PageContent is the master index used for as fallback for cq:PageContent in repo hence I wouldn't recommend to increase its levels.
I'm assuming that there are multiple reasons for using a custom index based on your index definition
-suggestions
-full text
-deep node structure
-path restrictions etc.
I would prefer to go towards using the custom index route(& fixing it, if required), rather than customizing master-shared index with specific use cases.
In addition, could you share the query explain plan json from the below link for the query you mentioned above?
http://localhost:4502/libs/granite/operations/content/diagnosistools/queryPerformance.html
Views
Replies
Total Likes
Hello, , I am facing the same problem. If you have already found a solution to your problem, please let me know.
Thanks already.
Views
Replies
Total Likes
The solution was to use "queryPaths" in case you want to run your query only on specific paths and not on the entire repo when you have pre-configured "includedPaths" and "excludedPaths".
This is what worked -
queryPaths Optional multi value property. Defaults to ‘/’List of paths for which the index can be used to perform queries. Refer to Path Includes/Excludes for more details
Views
Replies
Total Likes
Views
Likes
Replies