[Zope] [Ann] IncrementalSearch 0.1, ManagableIndex 0.10, AdvancedQuery 0.6

Dieter Maurer dieter at handshake.de
Sun Aug 22 05:09:21 EDT 2004


"IncrementalSearch" is an efficient incremental search engine
supporting 'and', 'or' and 'not' queries. Unlike Zope's standard
search engine, it determines hits incrementally, one at a time. It
interleaves index lookup and thereby prevents the creation of large
intermediate result sets and touches (almost) as few index blocks as
possible. This can significantly reduce load time.  Measurements
comparing an incremental PathIndex with a standard Zope PathIndex
showed speedups between 0.8 upto 50.

Download:

  <http://www.dieter.handshake.de/pyprojects/zope#IncrementalSearch>


"ManagableIndex" is a flexible indexing framework for the construction
of efficient indexes tailorable via the Zope Management Interface.

It now comes out of the box with Field-, Keyword-, Range-, Path- and
WordIndexes.

Unlike other index implementation which support pattern matching only
for TextIndex, Managable Field-, Keyword- and WordIndexes support both
glob as well as regular expression matching provided the indexed
values are strings.

New in version 0.10:

 * it now uses "IncrementalSearch" if available

 * an improved PathIndex with a new "depth" search option.
   While "level" controls the distance of the search path
   from the beginning (as with the standard PathIndex),
   "depth" controls its distance from the end (in a symmetrical way).

 * Fixes for unicode values


Download:

  <http://www.dieter.handshake.de/pyprojects/zope#ManagableIndex>


"AdvancedQuery" is a Zope product aimed to overcome several
limitations of ZCatalog's native search function.

Like ZCatalog's search, it supports elementary index searches. While
ZCatalog can combine such elementary searches only by "and",
AdvancedQuery allows them to be combined arbitrary with & (and), |
(or) and ~ (not).

While ZCatalog supports an efficient sorting via an index on one
level, AdvancedQuery supports sorting via any level of (field)
indexes. Moreover, it sorts the result incrementally -- only as far as
you access your result. This can drastically speed up the time
required for sorting. It uses Python's generators for this (and thus
requires Python 2.2 or better).

New in version 0.6: it now used "IncrementalSearch" if available.

Download:

  <http://www.dieter.handshake.de/pyprojects/zope#AdvancedQuery>



IMPORTANT NOTE: I consider to forbid institutions of the
European Union (Commission, Council of Ministers, Parliament, ...)
to use software developped by me.
This is in protest against plans of the Council of Ministers to make
logic (general ideas outside of a concrete technical system)
and especially software patentable in Europe.
Note that with such a restriction, this software will cease to be
compatible with the GPL (GNU Public License).
This version does not yet have the restriction but a future version
may.


-- 
Dieter


More information about the Zope mailing list