[ZODB-Dev] Fast * wildcard search and word-part indexing + B-treeinterval search.

Tim Peters tim at zope.com
Tue Sep 16 15:57:42 EDT 2003


[Vladimir Voznesensky, to Christian Reis]
> ...
> Dear Christian, who is the maintainer of btree code?

Hi.  I've done the most work on ZODB's BTrees in recent times.

> I'm interested in writing btree interval searching subroutine and
> estimation functions hook in C by myself.
> I'm not interested in writing estimation functions specifically for
> character strings (I follow another aims), but it seems that many
> folks are. I can advise and help to write string estimation functions
> (I've wrote them for Berkeley DB) and appropriate indices for Zope
> IndexedCatalog. I have no large experience in Zope and (Python+C)
> development. I'm trying to find co-llaboratives and possible
> consumers of my work.

Consumers would help <wink>.  Here's why:  I don't have time to give to this
unless my boss tells me to take it out of regularly scheduled work time,
which means he's also going to have to tell me to stop doing something else.
He's not likely to do that, though, unless this is thought to be an
extraordinarily important new feature.

Perceived importance can be driven by a single critical application, or by
many people wanting a thing.  Based on what I've seen in these threads so
far, I'm afraid I can't make the case for either.  Therefore I really can't
offer help.

The usual open-source path is still open:  find others who believe in it,
implement it, and demonstrate that users in real life benefit from it.

I'll only suggest that when you get to ideas like this:

> Let's put every word and tail of word into our b-tree.
> For example, word "mother" generates the following keys:
> mother
> other
> ther
> her
> er
> r

then you probably want a data structure designed for this kind of
decomposition instead, like suffix trees or String B-Trees (which latter is
a mix between traditional B-Trees and Patricia tries; see:

    http://citeseer.nj.nec.com/ferragina98string.html

).




More information about the ZODB-Dev mailing list