Apache Lucene
Apache Lucene is a high-performance, full featured text search engine library written in Java.
Online Documentation
This README file only contains basic setup instructions. For more comprehensive documentation, visit:
Building with Gradle
Basic steps:
- Install OpenJDK 11 (or greater up until version 15)
- Download Lucene from Apache and unpack it (or clone the git repository).
- Run gradle launcher script (
gradlew
).
Step 0) Set up your development environment (OpenJDK 11 or greater)
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. Gradle is itself Java-based and may be incompatible with newer Java versions; you can still build and test Lucene with these Java releases, see help/tests.txt for more information.
NOTE: Lucene changed from Ant to Gradle as of release 9.0. Prior releases still use Ant.
Step 1) Checkout/Download Lucene source code
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.
Step 2) Run Gradle
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
Gradle build and IDE support
- IntelliJ - IntelliJ idea can import the project out of the box.
- Eclipse - Basic support (help/IDEs.txt).
- Netbeans - Not tested.
Contributing
Please review the Contributing to Lucene Guide for information on contributing.
Discussion and Support
- Users Mailing List
- Developers Mailing List
- Issue Tracker
- IRC:
#lucene
and#lucene-dev
on freenode.net