问题
This is a tricky question to make you understand but let me attempt it.
Today, I have 8 different portlets in my page and when global search box is triggered I fire 8 GSA queries to show each result set onto the respective portlet.
The difference between each of the GSA call are the collection names
Now I could not manage to think of a solution to replace 8 different GSA calls with one call.
Each collection has atleast 100k documents and the max result a GSA search response can give is only 1000 and 100 per request/call. So it is quite impossible for me to parse the entire XML set and programmatically group them.
I know it is a poor design to show 8 different portlets with 8 different queries so I'm not looking for help from that angle. The design is robust is an assumption. Could you think of anything creative to address this logic? Thank you very much in advance and thank you for reading my question.
回答1:
Displaying 8 different result sets in 8 different portlets on a single page sounds like a fairly unpleasant user experience.
If redesigning it is an option then it sounds like a situation where faceted search would work well.
If you use Dynamic Navigation and can split your 8 collections up in to 8 facets (easy if you use Entity Recognition to tag the content based on URL patterns)you'll get a much better user experience, allowing users to drill down in to specific areas themselves rather than bombarding them with 8 different result sets.
来源:https://stackoverflow.com/questions/32575332/result-grouping-in-gsa-aggregating-results-based-on-a-metadata-or-collection