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: http://lucenenet.apache.org
Latest Stable Version: Lucene.Net 3.0.3
Working toward Lucene.Net 4.8.0 (currently in BETA)
PM> Install-Package Lucene.Net
PM> Install-Package Lucene.Net -Pre
We now have some preliminary documentation for Lucene.Net 4.8.0 on the Lucene.Net Website.
The API is similar to Java Lucene 4.8.0, which you may also find helpful to review.
NOTE: We are working on fixing issues with the documentation, but could use more help since it is a massive project. See #206.
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.
There is also a dotnet command line tool available on NuGet. It contains all of the demos as well as tools maintaining your Lucene.Net index, featuring operations such as splitting, merging, listing segment info, fixing, deleting segments, upgrading, etc. Always be sure to back up your index before running any commands against it!
dotnet tool install lucene-cli -g --version 4.8.0-beta00006
Once installed, you can explore what commands and options are available by entering the command lucene
.
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.
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.
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 currently only supported on Windows.
To build the source, clone or download and unzip the repository. From the repository root, execute:
> build [options]
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:
+
icon (for add)Lucene.Net Local Packages
...
button next to the Source field, and choose the /src/release/NuGetPackages
folder on your local system.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.
Lucene.Net.sln
in Visual Studio.build/TestTargetFramework.proj
and uncommenting the corresponding <TargetFramework>
.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.