[Zope] How do I efficiently join catalog results with other d ata?

Jay, Dylan djay@avaya.com
Sat, 28 Jul 2001 15:17:59 +1000


> -----Original Message-----
> From: Casey Duncan [mailto:cduncan@kaivo.com]
> Sent: Saturday, 28 July 2001 8:14 AM
> To: Jay, Dylan
> Cc: 'zope@zope.org'
> Subject: Re: [Zope] How do I efficiently join catalog results 
> with other
> data?
> 
> 
> "Jay, Dylan" wrote:
> > 
> > Here is my problem:
> > 
> > I have a dynamic per user map of data about various 
> objects. I want to do a
> > catalog search, combine the results with my other dynamic 
> data and then sort
> > on the dynamic data.
> 
> What type of "dynamic data"? Integers, dates, strings, etc?

a tuple of mostly integers and floats.
 
> > 
> > Has anyone tried doing this?
> >  How do I do it efficiently, still getting the benifits of 
> low memory usage
> > of lazy result sets?
> 
> You should make the dynamic data returned from a script and 
> add a field
> index to the catalog that calls the script. Then you can use the
> "sort_on" argument to the catalog to sort on the dynamic data.

The set of data is different for every user so this won't work unless I was
willing to have a seperate catalog for every user. Having a seperate catalog
for each user would be fine if I could combine two to searchs of two
different catalogs togeather. and by combine I don't the _plus_ operator you
can use for search results. What I need is a relational join, ie only the
results from both sets where a certain field has the same value on both. 

Someone must have tried to do something like this before?