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
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.
CBU Physics & Chemistry (B.S.) / Tufts Physics (Ph.D. student)
Web2k - Web Software Design, Development and Training
Zope3-dev mailing list