QueryBuilder case insensitive like operation AEM 6.4

shubhanshus3678

26-03-2019

I have  a JCR-SQL2 Query . And is being used by QueryManager to perform case insensitive search using lower() method. I want to do the same using QueryBuilder API. We are using aem 6.4 . and  fn:lower-case(jcr:content/jcr:title)   doesn't work.

SELECT * FROM[cq:Page]  WHERE ISDESCENDANTNODE(path) AND

( lower([jcr:content/jcr:title]) LIKE '%vehi%' OR lower([jcr:content/jcr:title]) LIKE '%auto%' )

UNION

SELECT * FROM[cq:Page]  WHERE ISDESCENDANTNODE(path) AND

( lower([jcr:content/jcr:description]) LIKE '%vehi%' OR lower([jcr:content/jcr:description]) LIKE '%auto%' )

UNION

SELECT * FROM[cq:Page]  WHERE ISDESCENDANTNODE(path) AND

( lower([jcr:content/cq:tags]) LIKE '%vehi%' OR lower([jcr:content/cq:tags]) LIKE '%auto%' )

ORDER BY [jcr:content/cq:lastModified] desc

Any inputs are helpful

Accepted Solutions (1)

Accepted Solutions (1)

Answers (4)

Answers (4)

shubhanshus3678

01-04-2019

Created 2 queries , one with the method suggested and one without it.

In case of using fn-lowercase, even the XPath query is not translated. However without using method query returns result.

We are using AEM 6.4.

1722931_pastedImage_1.png

1722930_pastedImage_0.png