QueryBuilder - Search in multi path with multi properties | Community
Skip to main content
October 16, 2015
Solved

QueryBuilder - Search in multi path with multi properties

  • October 16, 2015
  • 6 replies
  • 6215 views

 Hi,

I'm building a query to search result in multiple path with multiple properties. 

fulltext=test
group.p.or=true
group.1_group.path=/content/myproject
group.1_group.type=cq:Page
group.2_group.path=/content/dam/myprject
group.2_group.type=dam:Asset

daterange.p.or=true
daterange.1_property=jcr:content/jcr:created
daterange.2_property=jcr:content/jcr:lastModified
daterange.upperBound=2014-01-20T11:56:04.546+08:00

I want to search items in 2 path and have same date range on different properties.

With above query, i got below error message:

Internal Server Error

Cannot serve request to /WC2/bin/querybuilder.json in com.day.cq.search.impl.servlets.QueryBuilderJsonServlet

Exception:

java.lang.NullPointerException at com.day.cq.search.eval.XPath.getPropertyPath(XPath.java:57) at com.day.cq.search.eval.RangePropertyPredicateEvaluator.getXPathExpression(RangePropertyPredicateEvaluator.java:97) at com.day.cq.search.eval.DateRangePredicateEvaluator.getXPathExpression(DateRangePredicateEvaluator.java:68) at com.day.cq.search.eval.PredicateGroupEvaluator.getXPathExpression(PredicateGroupEvaluator.java:73) at com.day.cq.search.impl.builder.RootEvaluator.getXPathExpression(RootEvaluator.java:198) at com.day.cq.search.impl.builder.QueryImpl.execute(QueryImpl.java:373) at com.day.cq.search.impl.builder.QueryImpl.getResult(QueryImpl.java:108)

 

And i also tried below query, and the search result is not correct with 'NO FILTERING SUPPORT' error.

fulltext=test
group.p.or=true
group.1_group.path=/content/myproject
group.1_group.type=cq:Page
group.2_group.path=/content/dam/myproject
group.2_group.type=dam:Asset

group.1_group.property.and=true
group.1_group.1_property=jcr:content/jcr:createdBy
group.1_group.1_property.value=admin
group.1_group.daterange.property=jcr:content/date
group.1_group.daterange.upperBound=2014-01-20T11:56:04.546+08:00

 

 

 

Could anyone suggest?

Thanks,
Jasmine

This post is no longer active and is closed to new replies. Need help? Start a new post to ask your question.
Best answer by smacdonald2008

I have not forgotten this thread I have successfully got my CQ Query Builder App up and running:

[img]appgrid.png[/img]

For anyone reading this thread and want to know about Query Builder API using the Java API, see this community article:

http://helpx.adobe.com/experience-manager/using/using-query-builder-api1.html

I will extend this example to search multiple paths and see what happens. I will update this thread with the results. 

6 replies

smacdonald2008
smacdonald2008Accepted solution
Level 10
October 16, 2015

I have not forgotten this thread I have successfully got my CQ Query Builder App up and running:

[img]appgrid.png[/img]

For anyone reading this thread and want to know about Query Builder API using the Java API, see this community article:

http://helpx.adobe.com/experience-manager/using/using-query-builder-api1.html

I will extend this example to search multiple paths and see what happens. I will update this thread with the results. 

October 16, 2015

Thank you very much. My CQ version is 5.6.1

smacdonald2008
Level 10
October 16, 2015

Looks like there is something not set properly. I will dig into this query and see if i can reduplicate it, What version of CQ are you using? 

October 16, 2015

Thank you. But it doesn't help.

I follow the document  but still get the error. Similar issue also asked in the comments below.

October 16, 2015

I have another question about multiple path search.

When I run below query, CQ server is keeping in full load, this is because I don't set 'fulltext'.

group.p.or=true
group.1_group.path=/content/myproject
group.1_group.type=cq:Page
group.2_group.path=/content/dam/myproject
group.2_group.type=dam:Asset

If I put 'fulltext=*', it will take more than 1 min to search the result.

What I want is to get all pages/files from /content/myproject and /content/dam/myproject. But seems it doesn't work without fulltext property.

Any idea about this?

 

And is it possible to combine 2 query results and sort again? Query of searching in multiple path is very slow.

smacdonald2008
Level 10
October 16, 2015

We have examples of multipath searches in the AEM docs. See this topic:

http://dev.day.com/docs/en/cq/current/dam/customizing_and_extendingcq5dam/query_builder.html

Hope this topic helps.