On Wednesday 14 March 2007 07:58, Adam Groszer wrote:
> I'd like to ask your opinion, your experiences about searching and
> filtering in quite large object DBs.
> We need to add search and filter functions to our current app, where
> the user might be able to create quite _sophisticated_ filter criterias.
> (The app is a pure Z3 app, subject is document management)

I have written a package (z3c.searchfilter) that implements one way of a 
filter search that is quiet sophisticated. It basically provides a UI for 
creating hurry.query queries. Of course it is not as flexible as having all 
logic operators, but it is powerful for the average user. Unfortunately, the 
package has no documentation and tests yet, since the ones I had were too 
specific to our project and it takes some effort to setup everything.

Juergen Kartnaller also built a great search/filter pacakge, which he has not 
released yet. Go and bug him! :-)

If you want to build your own UI, hurry.query allows you to do the full range 
of logical operators.

> Currently we're looking at something based on catalog/indexes.
> As I checked the most comfortable solution would be based on
> hurry.query.

This is true.

> Some questions arose:
> - Is it necessary/worth adding indexes on all attributes?

No, only the ones you want to search through efficiently. This is usually a 
much smaller subset. Also, you want to write some more sophisticated code to 
create full-text indices. I could share some code with you showing this off, 
unfortunately, I have not abstracted the code yet into a package.

> - How does the index perform on modification and retrieval?

Yeah, based on my experience it does.

Stephan Richter
CBU Physics & Chemistry (B.S.) / Tufts Physics (Ph.D. student)
Web2k - Web Software Design, Development and Training
Zope3-dev mailing list
Unsub: http://mail.zope.org/mailman/options/zope3-dev/archive%40mail-archive.com

Reply via email to