[Zope3-dev] Zope 3 Alpha 1 in 2002

Chris Withers chrisw@nipltd.com
Mon, 04 Nov 2002 12:50:25 +0000


Jim Fulton wrote:
> I've learned that premature optimization is extremely silly.

fair enough :-)

> The ZCatalog object cache stores quite a bit of data in each database
> record.

I thought metadata was just one tuple?

>> I like the way Lucene does this. When you specify an attribute name, 
>> you specify if it's indexed, if it's store and if it's fed through a 
>> lexicon/splitter.
> 
> I think that this is a little different because Lucene doesn't store the
> original data.

Yes it does, if you set 'store' for an attribute name it stores the original 
data it indexed in a very similar way to ZCatalog's metadata.

>> Now, here I'd say we want to specify for each name:
>>
>> 1. What type of index to use
>>
>> 2. Whether or not to store/cache the value
>>
>> 3. Maybe a chain of processors to pre-process the attribute value 
>> before indexing. I'm thinking lexicons, splitters, filters and the 
>> like here.
>>
>> That way, the whole kaboodle is all part of the Indexing Service.
> 
> You may create different index on the same name or use multiple names for
> a single index, so this shouldn't be name centric.

I agree with your point, and maybe I'm talking more from a UI point of view. I 
have an attribute name, I want to know what indexes will apply to that name, and 
whether or not its value will be cached. The chains of pre-processors depend on 
the index.

That said, I really can't think of a _good_ use case for an index that processes 
multiple names. YAGNI?

cheers,

Chris