Lucene is an open source java based search library.
Lucene is very popular and fast search library used in java based application to add document search capability to any kind of application in a very simple and efficient way.
Lucene is scalable and high-performance library used to index and search virtually any kind of text.
Lucene library provides the core operations which are required by any search application.
Lucene provides a simple-to-use API, which will provide powerful indexing and searching capability.
Components of Lucene
1) Index, 2) Document, 3) Field
Index: Lucene index is the data store that holds all the indexed documents; queries are also executed against the index to fetch the documents.
Document: A document is the default building block for a Lucene index.
Documents can be compared to records in a table. Each document holds a number of fields upon which queries can be executed.
Field: Each Lucene document comprises of one or more fields; it is not necessary that all the fields are indexed, fields can also be stored without indexing.
Lucene search works based on the index, so it is necessary to have the index updated with the latest content to get the best search results.