[Zope-dev] ZCatalog and Zope 2.8
Andreas Jung
lists at andreas-jung.com
Sun Jan 30 09:30:37 EST 2005
I changed the ZCatalog and indexes codebase for Zope 2.8 in the following
way:
- ZCatalog and indexes derived from UnIndex used a nasty implementation of
__len__
which lead to problems in Zope 2.8 with new-style classes. The
corresponding code
has been cleaned up. For ZCatalog instances there is an implicit
migration built-in
for the __len__ attribute. For all indexes I added a
manage_convertIndexes() method
that re-creates and reindexes all indexes of a given ZCatalog instance.
Outstanding issues:
- some indexes show the number of indexed objects vs the number of indexes
terms
within the ZMI which is totally inconsistent. I think the ZMI should
show the number
of indexed objects. Index specific information e.g. the number of
indexed terms
should be shown within the indexes default view (if necessary).
Objections?
- Indexes derived from UnIndex also store informations about objects
although they do
not index useful information. E..g. if you have one thousand objects
and a keyword index
indexing only two objects (because these two objects have the required
property or method
returning indexable values) than you have the RIDs of one thousand
objects within the internal
data structure of the index....a total waste of space. An optimised
version of UnIndex would
store only values evaluating to non-zero. Such an optimisation is
already used in Dieter's
Managablexes. This might change the behaviour of some applications
but I am not completely sure about this issue. Thoughts?
Andreas
More information about the Zope-Dev
mailing list