Lucene

Lucene provides the core indexing and searching component to a search application.

A search application starts with an indexing chain, which requires separate steps to
1. retrieve the raw content;
2. create documents from the content,
3. possibly extracting text from binary documents;
4. and index the documents.

Once the index is built, the components required for searching are:
1. a user interface,
2. a means for building up a programmatic query,
3. query execution (to retrieve matching documents),
4. and results rendering.

chain