AEM 6.3 Query builder - How to search for case insensitive ?

surenk

06-04-2020

How can we make the query to ignore case sensitivity of the `property.value` ? 

Using `orderby.case=ignore` is not helping.  

 

Our query:

path=/content/central-content/jcr:content/main/decline_letter
property.value=0091A
property=@letterNumber
type=nt:unstructured
orderby.case=ignore

 

Accepted Solutions (1)

Accepted Solutions (1)

nidhip010816

Employee

08-04-2020

Hey,

 

You may do a custom implementation for this. The below doc may help - 

 

https://helpx.adobe.com/experience-manager/6-3/sites/developing/using/implementing-custom-predicate-...

 

This one is not Adobe Doc but seems it will match your use case -> http://experience-aem.blogspot.com/2015/05/aem-6-sp2-query-builder-predicate-evaluator-ignore-case.h...

 

Warm Regards,

Nidz

Answers (2)

Answers (2)

surenk

07-04-2020

Using `fulltext` seemed to be helping/working.

path=/content/central-content/jcr:content/main/decline_letter
fulltext=0091A
property=@letterNumber
type=nt:unstructured
orderby.case=ignore

 

fulltext may not be a good solution is we have to be searching among a lot of nodes/data. In our case, we search for a very minimal number of nodes.

aemmarc

Employee

07-04-2020

Lucene is case sensitive.

 

You'd need to run the token through the LowerCaseFilter

 

Do you have a custom index for your queries? 

 

To accomplish this you'll need to modify an index definition in CRX/DE.

 

I'm going to assume you're using a custom index  

 

1) under  /oak:index/your-custom-index

2) add an analyzers nt:unstructured node

3) add a default nt:unstructured node under analyzers 

3) add a filters nt:unstructured node under default

4) add a LowerCase nt:unstructured node under filters

5) reindex the index.