Skip to main content

Flexible high level search construction and execution for Zope (>= 4)

Project description

AdvancedQuery is a Zope product extending Zope’s search engine ZCatalog with the following key features:

  • flexible and intuitive construction of query objects

  • support for arbitrary “and”, “or” and “not” combinations of queries

  • flexible multi-level sort support; incremental sorting

  • ranking support

  • new elementary searches (such as “glob” and “regexp” searches)

  • support for incremental filtering

  • functional and/or efficiency gains via Zope “(subscription) adapter”s for indexes

  • optional integration with dm.incrementalsearch, a low level incremental search engine aiming to reduce the number of ZODB loads for searching

For more information, see AdvancedQuery.html in the doc subfolder.


The package can be pip installed.

The use of this package requires that its configure.zcml is “executed” during startup (usually, this happens automatically).

In order to use this package in Plone, the companion package dm.plone.advancedquery must be installed and its configure.zcml “executed” during startup.

Partial history


Adapt to module move Products.ZCatalog.Lazy --> ZTUtils.Lazy.


Handle size based switch from dict to IIBTree for ZCTextIndex’s word info values.


Extensions/optimizations for ZCTextIndex with Okapi-Index.


Python 3/Zope 4 compatibility

Drop support for Zope2 (due to significant differences between the Products.ZCatalog versions for Zope2 and Zope 4+, respectively).

Supports Plone 5.2+ via the companion package dm.plone.advancedquery.

Integration of indexes and dm.incrementalsearch now customizable via (subscription) adapters – independence of Products.ManagableIndex and dm.incrementalsearch.


Adapt to cosmetic modifications in Products.CMFCore==2.3.0.


use the newer index sorting API (documentToKeyMap) if the older API (keyForDocument) is missing or obviously broken.

The fix has been introduced for the nogopip index used in Plone 4.1. Unfortunately, this index version not only defines a broken keyForDocument but in addition uses call frame inspection targeted at ZCatalog sorting which fails when called by AdvancedQuery, see Until this problem is resolved, you cannot use a nogopip index as sort index for AdvancedQuery.


Zope 2.13 compatibility


fix test suite for Zope 2.12 by dropping ZopeTestCase.framework support. This implies that the test suite can now only be executed via the Zope test runner.

Project details

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

Products.AdvancedQuery-4.2.1.tar.gz (52.7 kB view hashes)

Uploaded Source

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page