We have to work with search results that are sometimes 1000+ items in size.
In addition, much of the information we have is not keyed so we cannot say
give results between id 2000 and id 20020.

Some things I found to help with search results where we did do in memory
sorting/paging were:

1. Create view-specific lightweight objects to be pulled from the DB
2. Memory allowed, it's faster to pull them all at once than lazy load
4. The real cause of some of our performance problems were the JSP's/HTML in
rendering a huge list to the client vs. only showing 20 at once.


To handle this, I created a SearchResultListAdaptor that could sit in the
session and handle paging (if anyone wants to argue session scope with me,
bring it on--).  The SearchResultListAdaptor then contained the behavior of
sort order/paging, etc.  Sorting was done via bean property using a
BeanUtilsComparator.  So my SearchResultListAdaptor could then work with an
list of beans.

Best Regards,
Jacob

-----Original Message-----
From: Arne Brutschy [mailto:[EMAIL PROTECTED] 
Sent: Wednesday, March 03, 2004 12:57 PM
To: Struts Users Mailing List
Subject: Best way to handle big search results..

Hi,

I'm looking for the best way to handle big search results.

Setting: the user can search for other users in the ldap directory. This 
might return a long list of results (~40.000 entrys). Sadly, OpenLDAP 
doesn't support server-side sorting, so I have to sort the results 
myself. I want to display 20 items per page, and the user can browse 
through these results.

What is the best way to handle these result object? Sorting once and 
storing/caching it in the session or searching and sorting every time 
the user requests a new page of results?

Any thoughts/experiences?

Regards,
Arne Brutschy


---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to