Apache Lucene.Net is a .NET full-text search engine, a C# port of the popular Apache Lucene project. Apache Lucene.Net is not a complete application, but rather a code library and API that can easily be used to add search capabilities to applications.
The Apache Lucene.Net web site is at: http://lucenenet.apache.org
- .NET Standard 1.5
- .NET Framework 4.5.1
- .NET Framework 4.0
- .NET Framework 3.5
Latest Stable Version: Lucene.Net 3.0.3
Working toward Lucene.Net 4.8.0 (currently in BETA)
PM> Install-Package Lucene.Net
As of 4.8.0, Lucene.Net is now divided into several NuGet sub-packages. See the complete list of Lucene.Net sub-packages on NuGet.org
We don't yet have API documentation for Lucene.Net 4.8.0, but the API is similar to Lucene 4.8.0.
Lucene is a very large project (over 350,000 executable lines of code) and we welcome any and all help to maintain such an effort.
How to Join/Unsubscribe to/from mailing lists
If you have a general how-to question or need help from the Lucene.Net community, please email the Apache Lucene.Net-User mailing list by sending a message to:
We recommend you join the user mailing list to stay looped into all user discussions.
To report a bug, please use the JIRA issue tracker. You can signup for a JIRA account here (it just takes a minute).
To start a development discussion regarding technical features of Lucene.Net, please email the Apache Lucene.Net-Developer mailing list by sending a message to:
We recommend you join both the user and dev mailing lists to stay looped in to all user and developer discussions.
Before you start working on a pull request, please read our Contributing guide.
If you plan to submit multiple pull requests, please submit an Individual Contributor License, or for individual pull requests, just submit the request and in the description state that the code is your original work and you license it under the Apache License v2.
Building on the Command Line is only supported on Windows.
- Powershell 3.0 or higher (see this question to check your Powershell version)
- .NET Framework 4.5.1 Developer Pack (Under Programs & Features, check whether you have the .NET Framework 4.5.1 SDK)
To build the source, clone or download and unzip the repository. From the repository root, execute:
> build [options]
Short | Long | Description | Example |
---|---|---|---|
‑config | ‑‑Configuration | The build configuration ("Release" or "Debug"). | build ‑‑Configuration:Debug |
‑pv | ‑‑PackageVersion | The NuGet package version. If not supplied, will use the version from the Version.proj file. | build ‑pv:4.8.0‑beta00001 |
‑t | ‑‑Test | Runs the tests after building. Note that testing typically takes upwards of 2 hours. | build ‑t |
‑v | ‑‑Version | The assembly file version. If not supplied, will use the PackageVersion (excluding any pre-release tag). | build ‑pv:4.8.0‑beta00001 ‑v:4.8.0 |
NuGet packages are output by the build to the /release/NuGetPackages/
directory. Test results (if applicable) are output to the /release/TestResults/
directory.
You can setup Visual Studio to read the NuGet packages like any NuGet feed by following these steps:
- In Visual Studio, right-click the solution in Solution Explorer, and choose "Manage NuGet Packages for Solution"
- Click the gear icon next to the Package sources dropdown.
- Click the
+
icon (for add) - Give the source a name such as
Lucene.Net Local Packages
- Click the
...
button next to the Source field, and choose the/src/release/NuGetPackages
folder on your local system. - Click Ok
Then all you need to do is choose the Lucene.Net Local Packages
feed from the dropdown (in the NuGet Package Manager) and you can search for, install, and update the NuGet packages just as you can with any Internet-based feed.
- Visual Studio 2012+
- .NET Framework 4.5.1 Developer Pack (Under Programs & Features, check whether you have the .NET Framework 4.5.1 SDK)
- NUnit3 Test Adapter
Open Lucene.Net.sln
to compile/test in .NET Framework 4.5.1
- Visual Studio 2015 Update 3 (NOTE: Other Visual Studio versions, including 2017 are not supported)
- 1.1 with SDK Preview 2.1 build 3177
- NUnit3 Test Adapter
Open Lucene.Net.Portable.sln
to compile under .NET Standard and test under .NET Core
NOTE: You may need to run
dotnet restore
from the command line prior to opening the solution in order to successfully compile.