# Apache Lucene 4.3.1 Documentation

Lucene is a Java full-text search engine. Lucene is not a complete application, but rather a code library and API that can easily be used to add search capabilities to applications.

This is the official documentation for Apache Lucene 4.3.1. Additional documentation is available in the Wiki.

## Getting Started

The following section is intended as a "getting started" guide. It has three audiences: first-time users looking to install Apache Lucene in their application; developers looking to modify or base the applications they develop on Lucene; and developers looking to become involved in and contribute to the development of Lucene. The goal is to help you "get started". It does not go into great depth on some of the conceptual or inner details of Lucene:

- Lucene demo, its usage, and sources: Tutorial and walk-through of the command-line Lucene demo.
- Introduction to Lucene's APIs: High-level summary of the different Lucene packages.
- Analysis overview: Introduction to Lucene's analysis API. See also the TokenStream consumer workflow.

## Reference Documents

- Changes: List of changes in this release.
- System Requirements: Minimum and supported Java versions.
- Migration Guide: What changed in Lucene 4; how to migrate code from Lucene 3.x.
- JRE Version Migration: Information about upgrading between major JRE versions.
- File Formats: Guide to the supported index format used by Lucene. This can be customized by using an alternate codec.
- Search and Scoring in Lucene: Introduction to how Lucene scores documents.
- Classic Scoring Formula: Formula of Lucene's classic Vector Space implementation. (look here for other models)
- Classic QueryParser Syntax: Overview of the Classic QueryParser's syntax and features.
- Facet User Guide: User's Guide to implementing Faceted search.

## API Javadocs

- core: Lucene core library
- analyzers-common: Analyzers for indexing content in different languages and domains.
- analyzers-icu: Analysis integration with ICU (International Components for Unicode).
- analyzers-kuromoji: Japanese Morphological Analyzer
- analyzers-morfologik: Analyzer for indexing Polish
- analyzers-phonetic: Analyzer for indexing phonetic signatures (for sounds-alike search)
- analyzers-smartcn: Analyzer for indexing Chinese
- analyzers-stempel: Analyzer for indexing Polish
- analyzers-uima: Analysis integration with Apache UIMA
- benchmark: System for benchmarking Lucene
- classification: Classification module for Lucene
- codecs: Lucene codecs and postings formats.
- demo: Simple example code
- facet: Faceted indexing and search capabilities
- grouping: Collectors for grouping search results.
- highlighter: Highlights search keywords in results
- join: Index-time and Query-time joins for normalized content
- memory: Single-document in-memory index implementation
- misc: Index tools and other miscellaneous code
- queries: Filters and Queries that add to core Lucene
- queryparser: Query parsers and parsing framework
- sandbox: Various third party contributions and new ideas
- spatial: Geospatial search
- suggest: Auto-suggest and Spellchecking support
- test-framework: Framework for testing Lucene-based applications