collective.indexing 2.0 Alpha 3

Abstract framework for queueing, optimizing and dispatching index operations for Plone content

  Add it to your Download Basket!

 Add it to your Watch List!


Rate it!

What's new in collective.indexing 2.0 Alpha 3:

  • Added back IIndexQueueSwitch marker interface for better uninstall support for 1.x versions. Fixes [hannosch, dholth]
Read full changelog
send us
an update
GPL (GNU General Public License) 
Plone Foundation
ROOT \ Internet \ Plone Extensions
collective.indexing is an approach to provide an abstract framework for optimizing and queuing index operations in Plone as well as dispatching them to various backends. The default implementation aims to replace the standard indexing mechanism of CMF to allow index operations to be handled asynchronously in a backwards-compatible way.

Queuing these operations on a transaction level allows to get rid of redundant indexing of objects and thereby providing a substantial performance improvement. By leveraging the component architecture and Zope event system collective.indexing also makes it much easier to use backends other than or in addition to the standard portal catalog for indexing, such as dedicated search engine solutions like Solr, Xapian or Google Search Appliance. One backend implementation designed to be used with this package has already been started in the form of collective.solr.

Subscriber Support

The package comes with support for queueing up and performing indexing operations via event subscribers. The idea behind this is to not rely on explicit calls as defined in CMFCatalogAware alone, but instead make it possible to phase them out eventually. As the additional indexing operations added via the subscribers are optimized away anyway, this only adds very little processing overhead.

However, even though IObjectModifiedEvent has support for partial reindexing by passing a list of descriptions/index names, this is currently not used anywhere in Plone. Unfortunately that means that partial reindex operations will be "upgraded" to full reindexes, e.g. for IContainerModifiedEvent via the notifyContainerModified helper, which is one reason why subscriber support is not enabled by default for now.

To activate please use:

zcml = collective.indexing:subscribers.zcml

instead of just the package name itself, re-run buildout and restart your Plone instance.

Last updated on August 23rd, 2011


#index operations #Plone indexing #Plone #index #operations #queueing

Add your review!