Apache Zeta Components' Search component
Requirements and Design
27/35
Support for multiple backends
Abstract documents
Support for datatypes
Rich searching API, including facetted search
Easy query interface