A new way to index objects for Zope3
This package provides a way to index objects and query indexes for Zope3. This implementation is different from zope.catalog and is an alternative to it.
- Feature: implemented TextIndex with family64 BTree support which makes it possible to use long as index ids. Added tests for the new TextIndex64.
- Feature: Add support for sorting by indexed values, introduced in zope.index 3.5.0. See description of the searchResults method of ISearchQuery.
- Bugfix: Make query object constructor work with index name passed as unicode as well as with str.
- Mention searchResultFactory argument in the searchResults method of the ISearchQuery interface.
- Added the “subscriber.zcml” file that contains ZCML-based intid subscriber registrations for easy including in projects that use event-based indexing.
- The IIndexValue interface and all its mentions in code and documentation is removed, because it’s not an actual part of concept and wasn’t ever used/implemented in this package. It’s easy to implement it in custom project, so we believe that it’s not a problem.
- Reworded package description to make it nicer. Fix little docstring typos.
- Use new lightweight and ZMI-less versions of packages: zope.keyreference, zope.intid, zope.site, zope.container and zope.catalog (for tests).
- Bugfix: SearchQuery wasn’t able to act correct if initialized with query=None because of an empty result setup. The And() and Not() methods could not act correctly with this an empty initilized result.
- Bugfix: SearchQuery.And() and Not() didn’t return an empty result if previous or given query result was empty. The previous result was returned.
- Feature: implemented new indexing strategy which uses transaction and thread local for prevent to index an object more then once per transaction.
- Bugfix: performance tests, not query did not show the right timer in catalog cell.
- Feature: added optional searchResultFactory. This class get used as a search result wrapper. By default the ResultSet class get used.
- Feature: Expose SearchQuery.results property. Ensure that we return always an empty result if None is given and allow to override existing results as a part of the SearchQuery API.
- Feature: Implemented optional intids argument in SearchQuery.searchResults method. This intids is used instead of query the IntIds util. This is usefull if you use builtin IIntIds objects for optimized access.
- Added __repr__ for ResultSet with result lenght.
- Optimized SearchQuery.And() and Not() methods. Skip given query processing if previous result is empty.
- Code is now 100% covered by tests.
- Initial release