Hi All,
We are using AEM6.5 and trying to achieve search results with highest word count(ex:insurance) on top in descending order but we see the results(webpages) displayed randomly .
Ex: Using QueryBuilder Debugger
path=/content/<project-path>
type=cq:Page
fulltext=insurance
orderby.sort=desc
orderby=@jcr:score
Please suggest how to achieve word with highest occurrence in page to be listed on top in search results using sql2.
Thanks in advance.
Solved! Go to Solution.
Views
Replies
Total Likes
Hi @GanaG,
This is correct behavior. In your example you are referring to occurrence of word equipment in browser, but what you can see in browser does not mean that is content of this specific page. Let's have a closer look on this one
where as http://localhost:4502/content/we-retail/ca/en/products/equipment.html which is displayed next shows 22 occurrence of "equipment" word .
If you will go to crx you will see that this page contains only 2 occurrence of word equipment not 22. Other occurrence you can see in the browser is content from other pages that are referenced via Product Grid component.
I do not think this is correct way to recognize how many times specific word is used, you should rely on what is inside nodes in crx instead. It's because this is used to build index, not values that can be seen on final page.
I have used simple SQL2 query for given scenario:
SELECT * FROM [cq:Page] AS s WHERE ISDESCENDANTNODE([/content/we-retail/ca/en]) and CONTAINS(s.*, 'Equipment')
And it's giving proper results when we look what's in the repository. In terms of SQL2 query itself, you do not have to add explicitly ORDER BY [jcr:score] DESC because this is default behavior, URL to documentation that describes this:
If you want to control order of results you can utilize boost option in your index:
We have tried the same but the results are not consistent.
Please try below:
Result which is displayed first shows 6 occurrence of "equipment" word in browser
http://localhost:4502/content/we-retail/ca/en/equipment.html
where as http://localhost:4502/content/we-retail/ca/en/products/equipment.html which is displayed next shows 22 occurrence of "equipment" word .
last result shows 1 occurrence of "equipment" word http://localhost:4502/content/we-retail/ca/en/experience/arctic-surfing-in-lofoten/jcr%3acontent/roo...
Ideally lucene should give results based on Term frequency only which is not happening.
Please check.
Thanks in advance
Hi @GanaG,
This is correct behavior. In your example you are referring to occurrence of word equipment in browser, but what you can see in browser does not mean that is content of this specific page. Let's have a closer look on this one
where as http://localhost:4502/content/we-retail/ca/en/products/equipment.html which is displayed next shows 22 occurrence of "equipment" word .
If you will go to crx you will see that this page contains only 2 occurrence of word equipment not 22. Other occurrence you can see in the browser is content from other pages that are referenced via Product Grid component.
I do not think this is correct way to recognize how many times specific word is used, you should rely on what is inside nodes in crx instead. It's because this is used to build index, not values that can be seen on final page.
I have used simple SQL2 query for given scenario:
SELECT * FROM [cq:Page] AS s WHERE ISDESCENDANTNODE([/content/we-retail/ca/en]) and CONTAINS(s.*, 'Equipment')
And it's giving proper results when we look what's in the repository. In terms of SQL2 query itself, you do not have to add explicitly ORDER BY [jcr:score] DESC because this is default behavior, URL to documentation that describes this:
If you want to control order of results you can utilize boost option in your index:
Hi @lukasz-m
Using boost, specific property like jcr:title or jcr:description search results appears on top but in our case we need to display search results in descending order based on more number of occurrence(i.e max. word count in a page) of the search term in a page.
ex: If insurance occurrences in page1 20 times, in page2 10 mins, in page3 15 times and page4 25 times then we need to display the result as page4, page1, page3, page2.
Please provide your suggestion
Thanks in advance!
Views
Replies
Total Likes
All my results have the exact same jcr:score - 0.01. Am I missing some kind of configuration to enable this?
I cannot seem to find any helpful documentation on how to ensure this is configured correctly.
Views
Replies
Total Likes