I am trying to run a query against any node inside the path I specify, returning any nodes that contain any property containing the string 'foo'. To do so, I use this query suggested by CRXDE Lite:
/jcr:root/content/path//*[jcr:contains(., 'foo')] order by @jcr:score
I get no results.
But, if I specify a property, let's say html:
/jcr:root/content/path//*[jcr:contains(@html, 'foo')] order by @jcr:score
I get results.
Doesn't the '.' mean to search all properties? If so, why does it not return the results that I receive when I specify a property?
Solved! Go to Solution.
Views
Replies
Total Likes
I am not sure why that would happen as my comment above was tested on a local OOTB AEM 6.5 instance and gave the expected result.
If you do not have a concern about data loss on local then try the below steps:
> Stop the local instance
> remove crx-quickstart folder
> restart instance
Then try this query
/jcr:root/content/we-retail//*[jcr:contains(., 'men')] order by @jcr:score
Hi,
I ran the below query, in CRXDE query tool, with property for example below, I got one result as only one node had title containing text 'foo'
/jcr:root/content/we-retail//*[jcr:contains(@jcr:title, 'foo')] order by @jcr:score
And when I ran the below query which has '.' instead of a specific property, I got all resultset containing foo in any of the node properties.
/jcr:root/content/we-retail//*[jcr:contains(., 'foo')] order by @jcr:score
Thank you for the reply!
Interesting, I just tried replicating my experiment in our development environment, and it worked perfectly, just as you've captured. But following the same steps in my local 4502 environment yielded the results I shared in my initial post. Both environments have the same package installed.
Any idea what might cause my local environment to behave this way?
I am not sure why that would happen as my comment above was tested on a local OOTB AEM 6.5 instance and gave the expected result.
If you do not have a concern about data loss on local then try the below steps:
> Stop the local instance
> remove crx-quickstart folder
> restart instance
Then try this query
/jcr:root/content/we-retail//*[jcr:contains(., 'men')] order by @jcr:score
If you are sure that content (that is queried for) is same/available in both dev and local server, then I suggest to check the index used for the query (using Query Performance -> Explain Query) -> try to reindex and test.
Hmm, I'm not seeing Query Performance--documentation for 6.4 seems to say it's in Tools > Operations, but I'm on AEM CS (I just realized I didn't mention that in my original post).
Does Query Performance exist on CS?
In AEMaaCS local SDK, there is no Operations console (hence no Query Diagnosis/Performance tool)
Can you confirm if your local SDK is latest as that of the DEV cloud service instance?
The SDK version was mismatched, so I deactivated the old SDK, downloaded the matching SDK, fired it up, installed my code, installed my package, and unfortunately I'm seeing the same results. I'm also seeing some weird UI issues when I choose "query;" deleting the cookies in my browser fixed those, but did not fix the issue with the query results.
I also tried the above and it worked perfectly for me too in my local. I would suggest , set up another server parallel and try it. See if it works.
Hi Veena, I'm not sure what you mean by setting up another server parallel.
Also, an answer was marked as correct, but I did not mark it as such--the answer marked as correct did not solve my issue. Just mentioning this so that people who have my same issue in the future understand that there's something else going on.
Views
Likes
Replies