Apache Lucene Core
Apache Lucene™ is a high-performance, full-featured search engine library written entirely in Java. It is a technology suitable for nearly any application that requires structured search, full-text search, faceting, nearest-neighbor search across high-dimensionality vectors, spell correction or query suggestions.
Apache Lucene is an open source project available for free download. Please use the links on the right to access Lucene.
Lucene™ Features
Lucene offers powerful features through a simple API:
Scalable, High-Performance Indexing
- over 800GB/hour on modern hardware
 - small RAM requirements -- only 1MB heap
 - incremental indexing as fast as batch indexing
 - index size roughly 20-30% the size of text indexed
 
Powerful, Accurate and Efficient Search Algorithms
- ranked searching -- best results returned first
 - many powerful query types: phrase queries, wildcard queries, proximity queries, range queries and more
 - fielded searching (e.g. title, author, contents)
 - nearest-neighbor search for high-dimensionality vectors
 - sorting by any field
 - multiple-index searching with merged results
 - allows simultaneous update and searching
 - flexible faceting, highlighting, joins and result grouping
 - fast, memory-efficient and typo-tolerant suggesters
 - pluggable ranking models, including the Vector Space Model and Okapi BM25
 - configurable storage engine (codecs)
 
Search performance of Apache Lucene is tracked in muliple places. Check out
- Mike McCandless' nightly benchmarks for Lucene for an historical view of Lucene's query performance, going back to 2011 for some queries
 - Search Benchmark, the Game for a comparison of Lucene with other search engines
 
Cross-Platform Solution
- Available as Open Source software under the Apache License which lets you use Lucene in both commercial and Open Source programs
 - 100%-pure Java
 - Implementations in other programming languages available