Cheshire3 is a fast open source XML search engine written in Python for extensability and using C libraries for speed.
If you're looking for an open source search software solution, then Cheshire3 could be just what you need!
Given a set of records, Cheshire3 can extract data into one or more indexes after processing with configurable workflows to add extra normalisation and processing. Once the indexes have been built, it supports such operations as ranked search, faceted search, record retrieval, browse and on demand result re-ordering or sort.
A 'formats' plugin provides support for ingest of Document types other than XML (e.g. Office documents, PDFs etc.) Plugins are also available to help carry out more advanced tasks:
Cheshire3 is feature rich, including support for XML namespaces, unicode, a distributable object oriented model and all the features expected of a digital library system. It is Open Source, and standards are foremost, including SRW, SRU and CQL, as well as Z39.50.
Cheshire3 is highly modular and configurable, enabling very specific needs to be addressed with a minimum of effort. The API is stable and fully documented, allowing easy third party development of components, scripts and interfaces.
Using mod_python handlers, or WSGI scripts, any interface from an online shop front, to Z39.50 to SRU to OAI-PMH can be provided (all included by default in the 'web' plugin.) The abstract protocolHandler allows integration into any environment that will support execution of Python code.