On Fri, Apr 28, 2006 at 02:29:51PM +0200, Achim Domma wrote:
> I want to integrate support for a specialized text indexing engine into Zope
> 3. The engine is able
> to provide documents which are "similar" to a reference document.
I'm curious: How are you going to do this (comparing documents, determining
> First I had a look at ICatalog, but IInjection seems to be the way to go.
> Could somebody give me a
> high level overview on how to use / implement these interfaces?
> I currently think about the following steps:
> - Implement the index as local utility.
> - Define an interface IMyStorageDocument for documents to be stored in my
> - Capture somehow if objects are created or deleted. Check if the object can
> be adapted to
> IMyStorageDocument. If yes, store it in the index or remove it.
You should have a look at zope.app.catalog.interfaces.IAttributeIndex which
seems to be what you want. Write your own implementation of an index
implementing IAttributeIndex. Your index will later be created as a child of
an ICatalog object which will take care of created, modified or deleted
content objects on your server and tell all its indices (-subobjects) about
> Clients then only have to implement an adapter for documents which should
> be indexed. To search for documents one could access the index as local
This is basically what I did: I wrote an interface providing 3 methods that are
used by my index: getTitle(), getContent(), getAbstract().
Zope3-users mailing list