Expand my Community achievements bar.

Enhance your AEM Assets & Boost Your Development: [AEM Gems | June 19, 2024] Improving the Developer Experience with New APIs and Events

Full text search under /etc node along with mentioned search[details explained in post]

Avatar

Level 9

Hi All,

The below query 

path=/content/x/y/z
type=cq:Page
group.1_fulltext=Abc*
group.1_fulltext.relPath=jcr:content/@headingText
group.2_fulltext=Abc*
group.2_fulltext.relPath=jcr:content/@headline
group.3_fulltext=Abc*
group.3_fulltext.relPath=jcr:content/@blocktitle
group.4_fulltext=Abc*
group.4_fulltext.relPath=jcr:content/@bodycopy
group.5_fulltext=Abc*
group.5_fulltext.relPath=jcr:content/@author
group.6_fulltext=Abc*
group.6_fulltext.relPath=jcr:content/@jcr:title
group.p.or=true
p.limit=-1

looks for occurences of word Abc,Abcs,Abcds[i.e, partial text search for Abc] at page properties jcr:content level along with few properties appearing at component level[ex: bodycopy]. 

However, ALONG WITH THIS we have to do a fulltext search under /etc/something for the same search keyword.

We are trying to analyze how can the query be tweaked/resolution can be achieved for the same.

Any thoughts/pointers on this will be really helpful.

7 Replies

Avatar

Level 9

Hi Jitendra,

Thank you for your reply. Did go through that article, but could not get much. Will go through that again and see if anything works out.

Avatar

Level 9

Hi All,

Basically along with the query mentioned in the first post , the below condition/query also has to be satisfied.

#2]

fulltext=Abc
group.p.or=true
group.1_group.path=/content/x
group.1_group.type=cq:Page
group.2_group.path=/etc/something
group.2_group.type=nt:unstructured
orderby=@jcr:content/jcr:lastModified
orderby.sort=desc

Any thoughts/pointers on this will be helpful.

Avatar

Level 9

Hi All, 

Update as below :

When we try the below query, it seems to be working fine

fulltext=Abc*
group.p.or=true
group.1_group.path=/content/x
group.1_group.type=cq:Page
group.2_group.path=/etc/something
group.2_group.type=nt:unstructured
group.3_group.path=/content/x/y/z
group.3_group.type=cq:Page
group.3_group.fulltext.relPath=jcr:content/@headingText
group.4_group.path=/content/x/y/z
group.4_group.type=cq:Page
group.4_group.fulltext.relPath=jcr:content/@headline
group.5_group.path=/content/x/y/z
group.5_group.type=cq:Page
group.5_group.fulltext.relPath=jcr:content/@blocktitle
group.6_group.path=/content/x/y/z
group.6_group.type=cq:Page
group.6_group.fulltext.relPath=jcr:content/@bodycopy
group.7_group.path=/content/x/y/z
group.7_group.type=cq:Page
group.7_group.fulltext.relPath=jcr:content/@Author
group.8_group.path=/content/x/y/z
group.8_group.type=cq:Page
group.8_group.fulltext.relPath=jcr:content/@jcr:title
orderby=@jcr:content/jcr:lastModified
orderby.sort=desc

 

1] When some  testing was done here with couple of scenarios, looks like it is working correctly. Also, the query time looks ok.

2] By this query what we are trying to achieve is, once a search keyword is provided it should search for fulltext way under /content/x for type page[i.e, group1], fulltext way under /etc/something for nt:unstructured[i.e,group2], group 3 onwards it should check only for that particular property for that page type and path /content/x/y/z.

3] However, one thing we noticed is that when we run the above query in Query debugger[http://localhost:4502/libs/cq/search/content/querydebug.html] it shows something like 

WARN - NO FILTERING SUPPORT: {3_group=group: [ {fulltext=fulltext: relPath=jcr:content/@headingText} {path=path: path=/content/x/y/z} {type=type: type=cq:Page} ]}

WARN - NO FILTERING SUPPORT: {4_group=group: [ {fulltext=fulltext: relPath=jcr:content/@headline} {path=path: path=/content/x/y/z} {type=type: type=cq:Page} ]}

WARN - NO FILTERING SUPPORT: {5_group=group: [ {fulltext=fulltext: relPath=jcr:content/@blocktitle} {path=path: path=/content/x/y/z} {type=type: type=cq:Page} ]}

and so on[i.e, similar message] till group number 8.

4] I hope this will not have any impact and we are good to go with the above query.

Any thoughts on this will be helpful.

Avatar

Employee Advisor

The above query is searching under the root path in whole repository. You can confirm this by adding some nodes outside these paths and see if you see them in the results. 

Avatar

Level 9

Hi All,

My bad. Looks like the above query we came up with, is doing a full text search everywhere. 

Any thoughts/pointers on how to achieve our objective will be really helpful.

Avatar

Level 9

Hi All,

Looks like query number #6 in http://aemcq5.blogspot.in/2014/11/cq5-querybuilder-simplified.html, can be tweaked here.

Any thoughts here will be helpful.