Python package for searching and indexing
Project description
A Python indexing and searching system.
See http://github.com/Pylons/hypatia for more information while this package is in alpha development.
0.1a3 (2013-01-10)
Optimize index_doc implementations of field and keyword index in cases where the discriminator returns the default.
Remove code from hypatia.path. This package no longer supports PathIndex.
Remove interfaces.IIndexQuery interface. It was never relevant, as indices cannot be expected to implement all of its methods, only the ones which apply to each index.
BaseIndexMixin no longer supplies default implementation of applyFoo methods which raise NotImplementedError. Each index is now responsible for implementing all of its own applyFoo methods. This is in the interest of fidelity with new query methods such as eq, which are similarly not implemented in the base.
Indexes are now compelled to implement a qname method for use by queries.
DoesNotContain query renamed to NotContains for symmetry with other negated query names.
New index methods: eq, noteq, ge, le, lt, gt, any, notany, all, notall, inrange, notinrange, contains, notcontains. These methods return query objects. Ex:
catalog['flavors'].eq('peach')
Query objects refactored internally to deal in index objects rather than index names.
The query.parse_query function now requires a catalog argument.
Query objects now supply an .execute method which returns a ResultSet.
ResultSet objects are returned from .execute. They represent a set of docids; they are iterable and have various methods for obtaining single objects (like one, first) and sorting (sort).
All Query objects now have a flush method which accepts arbitrary positional and keyword arguments. Calling the flush method of a query object will cause the flush method of all indexes participating in the query with the value passed to Query.flush with the same positional and keyword arguments. This is to support Substance D upstream, which may require indexes to be flushed before a query happens.
Add a document_repr method to all indexes which accepts a docid and returns a string represnting the index’s knowledge about that docid.
0.1a2 (2012-07-02)
This version of the code is incompatible with indexes produced by 0.1a1. There is no upgrade script. Shame on you for using software with a 0.1a1 version number and expecting backwards compatibility.
Add hypatia.catalog.CatalogQuery.sort API for sorting external sets of docids based on index values.
Add IIndexEnumeration interface, which all indexes must support. This implied the following backwards incompatibilities:
New interface methods: docids, docids_count, indexed, indexed_count, not_indexed and not_indexed_count.
documentCount method renamed to indexed_count.
wordCount method renamed to word_count.
Remove unused INBest interface.
IIndexInjection interface clear method renamed to reset to prevent confusion with dictionary clear (catalog is often dictionarylike). Catalog clear_indexes method replaced with reset.
0.1a1
Initial release: fork of repoze.catalog and zope.index, combined.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.