Skip to content
Mirror of Apache Lucene.Net
Branch: master
Clone or download
hindikaynen and laimis (#224)

GOOD_FAST_HASH_SEED thread safety

* LUCENENET-607 code-review: avoid static ctor

fixes LUCENENET-607
Latest commit 4fde199 Mar 12, 2019
Type Name Latest commit message Commit time
Failed to load latest commit information.
branding Moving as part of INFRA-5246 Sep 11, 2012
build build/build.ps1: Updated Publish task to zip the result of the publis… Oct 20, 2017
lib Added missing NUnit TeamCityEventListener that is required for the Te… Sep 11, 2017
src (#224) Mar 11, 2019
test-files Adding test artifact Sep 6, 2014
websites Website updates - DOAP file and copy changes (#223) Mar 11, 2019
.gitattributes Cleaning up and getting ready to development towards v4.8 Sep 6, 2014
.gitignore Website & API Doc site generator using DocFx script (#206) Feb 26, 2019
ACKNOWLEDGEMENTS.txt Cleaning up and getting ready to development towards v4.8 Sep 6, 2014
CHANGES.txt Updated CHANGES.txt for 4.8.0-beta00005 Oct 20, 2017 Updated Jul 25, 2017
LICENSE.txt Updated LICENSE.txt Oct 20, 2017
Lucene.Net.sln Website & API Doc site generator using DocFx script (#206) Feb 26, 2019
Lucene.Net.snk Cleaning up and getting ready to development towards v4.8 Sep 6, 2014
NOTICE.txt Updated NOTICE.txt Apr 25, 2017
NuGet.config Removed MyGet location for spatial4n Oct 20, 2017 Updated - removed unnecessary closing parentheses Oct 24, 2017
TestTargetFramework.proj SWEEP: Updated compilation symbols in projects to include all feature… Aug 25, 2017
Version.proj SWEEP: Updated .csproj files to utilize the new attribute generation … Aug 21, 2017
build.bat Modified build script to not use a BOM on build.bat file when generated Jun 24, 2017
global.json SWEEP: Upgraded to new .csproj format. Building and testing are runni… Aug 21, 2017

Apache Lucene.Net

Full-text search for .NET

Apache Lucene.Net is a .NET full-text search engine framework, 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:

Supported Frameworks

Lucene.Net 3.0.3

  • .NET Framework 4.0
  • .NET Framework 3.5

Lucene.Net 4.8.0


Latest Stable Version: Lucene.Net 3.0.3

Working toward Lucene.Net 4.8.0 (currently in BETA)


Lucene.Net 3.0.3

Core Library

NuGet version

PM> Install-Package Lucene.Net
All Packages

Lucene.Net 4.8.0

Core Library

NuGet version

PM> Install-Package Lucene.Net -Pre
All Packages


Lucene.Net WIKI

We don't yet have API documentation for Lucene.Net 4.8.0, but the API is similar to Lucene 4.8.0.

NOTE: We are working on this, but could use more help since it is a massive project. See #206.

Legacy Versions


There are several demos implemented as simple console applications that can be copied and pasted into Visual Studio or compiled on the command line in the Lucene.Net.Demo project.

How to Contribute

Lucene.Net is a very large project (over 400,000 executable lines of code and nearly 1,000,000 lines of text total) and we welcome any and all help to maintain such an effort. Read our Contribution Guide or read on for ways that you can help.

Join Mailing Lists

How to Join Mailing Lists

Ask a Question

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.

Alternatively, you can get help via StackOverflow.

Please do not submit general how-to questions to JIRA, use JIRA for bug reports/tasks only.

Report a Bug

To report a bug, please use the JIRA issue tracker. You can signup for a JIRA account here (it just takes a minute).

Start a Discussion

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.

Submit a Pull Request

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 and Testing

Command Line

Building on the Command Line is only supported on Windows.

  1. Powershell 3.0 or higher (see this question to check your Powershell version)
  2. .NET Core SDK 2.0 or higher

To build the source, clone or download and unzip the repository. From the repository root, execute:

> build [options]
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:

  1. In Visual Studio, right-click the solution in Solution Explorer, and choose "Manage NuGet Packages for Solution"
  2. Click the gear icon next to the Package sources dropdown.
  3. Click the + icon (for add)
  4. Give the source a name such as Lucene.Net Local Packages
  5. Click the ... button next to the Source field, and choose the /src/release/NuGetPackages folder on your local system.
  6. 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


  1. Visual Studio 2017 version 15.3 or higher
  2. .NET Core SDK 2.0 or higher
  3. NUnit3 Test Adapter


  1. Open Lucene.Net.sln in Visual Studio.
  2. Choose the target framework to test by opening build/TestTargetFramework.proj and uncommenting the corresponding <TargetFramework>.
  3. Build a project or the entire solution, and wait for Visual Studio to discover the tests - this may take several minutes.
  4. Run or debug the tests in Test Explorer, optionally using the desired filters.

NOTE: When running tests in Visual Studio, be sure to set the default processor architecture to 64 bit to avoid running out of virtual memory on some tests.

You can’t perform that action at this time.