Apache Lucene is an open source high-performance, full-featured information retrieval software library written entirely in Java. It is a technology suitable for nearly any application that requires full-text search, especially cross-platform.
Apache Lucene sets the standard for search and indexing performance. Lucene itself is just an indexing and search library and does not contain crawling and HTML parsing functionality.
It is supported by the Apache Software Foundation and is released under the Apache Software License. Lucene has been ported to other programming languages including Delphi, Perl, C#, C++, Python, Ruby, and PHP.
Key Features
- Indexing:
- Over 150GB/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.
- Static index pruning (Carmel pruning) removes postings with low within-document term frequency.
- 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).
- 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).
- Cross-Platform Solution:
- 100%-pure Java.
- Implementations in other programming languages available that are index-compatible.
Website: lucene.apache.org/core
Support: Documentation
Developer: Apache Software Foundation
License: Apache License 2.0
Apache Lucene is written in Java. Learn Java with our recommended free books and free tutorials.
Related Software
| Search Engines for Big Data | |
|---|---|
| ElasticSearch | Flexible and powerful distributed RESTful search engine and analytics |
| Solr | Search engine server that uses Lucene |
| Lucene | Search engine library |
| MeiliSearch | Easy to use and deploy search engine |
| OpenSearch | Enterprise-grade search and observability suite |
| Sphinx | Search engine designed with indexing database content in mind |
| Xapian | Probabilistic information retrieval library |
| Typesense | Fast, typo-tolerant search engine |
| Manticore Search | Easy to use fast database for search |
| Vespa | AI search platform |
| Groonga | Fulltext search engine and column store |
Read our verdict in the software roundup.
| Natural Language Processing | |
|---|---|
| PyTorch-Transformers | Library of state-of-the-art pre-trained models |
| Natural Language Toolkit | Suite of open source Python modules, data sets and tutorials |
| Stanford CoreNLP | Extensible annotation-based NLP pipeline |
| spaCy | Industrial strength natural language processing |
| scikit-learn | Machine learning library for Python |
| Gensim | Python-based vector space modeling and topic modeling toolkit |
| flair | Simple framework for state-of-the-art NLP |
| Apache OpenNLP | Machine learning based toolkit |
| DL4J | Deploy and train deep learning models |
| Apache Lucene | Full-featured information retrieval software library |
| UIMA | Implementation of the UIMA specification |
| tidytext | Text mining using dplyr, ggplot2, and other tidy tools |
| text2vec | Framework with API for text analysis and NLP |
| quanteda | R package for Quantitative Analysis of Textual Data |
| Moses | Statistical machine translation system |
Read our verdict in the software roundup.
| Java Natural Language Processing Tools | |
|---|---|
| CoreNLP | Annotation-based NLP pipeline that provides core natural language analysis |
| OpenNLP | Machine learning based toolkit |
| DL4J | Deploy and train deep learning models |
| Lucene | High-performance, full-featured information retrieval software library |
| UIMA | Open source implementation of the UIMA specification |
| Tika | Content analysis toolkit |
| MALLET | Statistical natural language processing, document classification and more |
| CogComp-NLP | State-of-the-art Natural Language Processing (NLP) tools |
| ReVerb | Automatically identifies and extracts binary relationships from sentences |
| NLP4J | NLP framework for JVM languages |
| GATE | Full-lifecycle solution for a broad range of NLP tasks |
Read our verdict in the software roundup.
Explore our comprehensive directory of recommended free and open source software. Our carefully curated collection spans every major software category.This directory is part of our ongoing series of informative articles for Linux enthusiasts. It features hundreds of detailed reviews, along with open source alternatives to proprietary solutions from major corporations such as Google, Microsoft, Apple, Adobe, IBM, Cisco, Oracle, and Autodesk. You’ll also find interesting projects to try, hardware coverage, free programming books and tutorials, and much more. Discovered a useful open source Linux program that we haven’t covered yet? Let us know by completing this form. |

