I came across this option about AEM GraphQL hybrid filtering which combines both JCR filtering with AEM filtering. In this documentation: https://experienceleague.adobe.com/docs/experience-manager-cloud-service/content/headless/graphql-ap...
It was explained that entire load will be split between JCR and AEM graphql. I came to know that JCR filter has few limitations, where it does not work today, like case-insensitivity, null-check, contains not etc
In this session, the same was explained: https://experienceleaguecommunities.adobe.com/t5/adobe-experience-manager/adobe-developers-live-may-...
However, the query showed in the session is like normal graphql query. It does not show any differentiation between JCR and AEM graphql filterings. I want to check how it actually works like how the JCR query will be setup and how the results will be provided according to the query written. How it will be different from regular graphql query. It would be great if any kind of documentation is provided which explains this part.
Solved! Go to Solution.
Re: ... I want to check how it actually works like how the JCR query will be setup and how the results will be provided according to the query written. How it will be different from regular graphql query. It would be great if any kind of documentation is provided which explains this part.
Linking to my reply on a relevant thread: https://experienceleaguecommunities.adobe.com/t5/adobe-experience-manager/adobe-developers-live-may-...
Hi,
Please check if this is useful
Optimising GraphQL query - https://experienceleague.adobe.com/docs/experience-manager-cloud-service/content/headless/graphql-ap...
Prerequisites - https://experienceleague.adobe.com/docs/experience-manager-cloud-service/content/headless/graphql-ap...
Sample Query : https://experienceleague.adobe.com/docs/experience-manager-cloud-service/content/headless/graphql-ap...
Hello, I would add that you can configure the DEBUG logger for
com.adobe.cq.dam.cfm.graphql.ContentFragmentsFetcher
And there you can see the actual JCR query which is performed for your GraphQL query.
Hello @Nikita_Mitroshin
Thanks for sharing the information. As suggested, we have configured the logger and the output is:
Queries executed from wknd-shared project:
- adventures-by-activity
SELECT main.* FROM [dam:Asset] AS main WHERE ISDESCENDANTNODE(main, '/content/dam') AND main.[jcr:content/contentFragment] = true AND main.[jcr:content/data/cq:model] = '/conf/wknd-shared/settings/dam/cfm/models/adventure' AND (([jcr:primaryType] IS NOT NULL)) ORDER BY main.[jcr:content/data/master/title] OPTION (INDEX TAG[fragments], TRAVERSAL FAIL)
- adventures-by-slug
SELECT main.* FROM [dam:Asset] AS main WHERE ISDESCENDANTNODE(main, '/content/dam') AND main.[jcr:content/contentFragment] = true AND main.[jcr:content/data/cq:model] = '/conf/wknd-shared/settings/dam/cfm/models/adventure' AND ((main.[jcr:content/data/*/slug] = 'bali-surf-camp')) ORDER BY main.[jcr:path] OPTION (INDEX TAG[fragments], TRAVERSAL FAIL)
Need some help to understand: how do we differentiate what part of GraphQL query is executed as a JCR-filter and graphQL filter?
Please suggest.
Hello @aanchal-sikka
I think you might need to reverse-engineer the AEM code to understand what is the differentiation logic
It can't be configured somehow.
Also, I see that the query you are using is traversal, so I would recommend to:
1. Follow this procedure https://experienceleague.adobe.com/docs/experience-manager-65/developing/headless/delivery-api/graph...
2. After that, install this package with the suggested indexes for GraphQL
Here I've shared some numbers of the tests I did with these indexes https://experienceleaguecommunities.adobe.com/t5/adobe-experience-manager/aem-v6-5-17-and-graphql-in...
So once you have it you should see that even with the filters in the GraphQL queries, the JCR queries should perform pretty fast.
Re: ... I want to check how it actually works like how the JCR query will be setup and how the results will be provided according to the query written. How it will be different from regular graphql query. It would be great if any kind of documentation is provided which explains this part.
Linking to my reply on a relevant thread: https://experienceleaguecommunities.adobe.com/t5/adobe-experience-manager/adobe-developers-live-may-...
Views
Likes
Replies
Views
Likes
Replies