Apache Lucene is a high-performance, full featured text search engine library written in Java.
This README file only contains basic setup instructions. For more comprehensive documentation, visit:
- Install OpenJDK 11 (or greater)
- Download Lucene from Apache and unpack it (or clone the git repository).
- Run gradle launcher script (
gradlew
).
We'll assume that you know how to get and set up the JDK - if you don't, then we suggest starting at https://jdk.java.net/ and learning more about Java, before returning to this README. Lucene runs with Java 11 or later.
Lucene uses Gradle for build control.
NOTE: Lucene changed from Ant to Gradle as of release 9.0. Prior releases still use Ant.
You can clone the source code from GitHub:
https://github.com/apache/lucene
or get Lucene source archives for a particular release from:
https://lucene.apache.org/core/downloads.html
Download either a zip or a tarred/gzipped version of the archive, and uncompress it into a directory of your choice.
Run "./gradlew help", this will show the main tasks that can be executed to show help sub-topics.
If you want to build Lucene, type:
./gradlew assemble
NOTE: DO NOT use gradle
command that is already installed on your machine (unless you know what you'll do).
The "gradle wrapper" (gradlew) does the job - downloads the correct version of it, setups necessary configurations.
The first time you run Gradle, it will create a file "gradle.properties" that contains machine-specific settings. Normally you can use this file as-is, but it can be modified if necessary.
./gradlew check
will assemble Lucene and run all validation
tasks (including unit tests).
./gradlew help
will print a list of help guides that help understand how
the build and typical workflow works.
If you want to build the documentation, type:
./gradlew documentation
- IntelliJ - IntelliJ idea can import the project out of the box.
- Eclipse - Basic support (help/IDEs.txt).
- Netbeans - Not tested.
Please review the Contributing to Lucene Guide for information on contributing.
- Users Mailing List
- Developers Mailing List
- Issue Tracker
- IRC:
#lucene
and#lucene-dev
on freenode.net