NuGet Package FlexLucene - .net port of Java Lucene

FlexLucene is a port of Java Lucene using IKVM.

It uses tools like ProGuard, Mono Cecil to produce idiomatic .net code which hides most of the Java styles apparent with the IKVM generated libraries. Some of the enhancements done are:

- All the namespaces are converted from usual org.apache.lucene.* to FlexLucene.*.
- All method names are converted to use .net style naming convention that is PascalCase rather than camelCase.
- All Java hashCode methods are converted to GetHashCode.
- Proper Equals and ToString implementation for classes.
- There are certain cases when the method name cannot be converted as it is coming from a java SDK class (i.e. close method present in classes implementing Closable).

In such cases we have added a helper method to the class with the proper name (PascalCase).
- Java allows usage of same name for a public field and method which is not possible in C#. Such cases are handled by renaming the field.

A lot more refinements and optimizations are planned in future.

Changes 6.0
- Upgraded the version of spatial4j which lead to many namespace changes.
- Lucene has deprecated a number of classes. Refer to Lucene 6.0.0 release notes for a list of changes.

Changes 6.0.1
- Fixed resource loading issue with German analyzer.

Changes 6.0.2
- Port of Lucene 6.0.1 release.

Changes 6.1.0
- Port of Lucene 6.1.0 release.

Changes 6.3.0
- Port of Lucene 6.3.0 release.
- Added support for Japanese analyzer.


Version: 6.3.0
Author(s): Seemant Rajvanshi
Last Update: Wednesday, December 14, 2016
.NET Fiddle: Create the first Fiddle
Project Url:
NuGet Url:

Install-Package FlexLucene
dotnet add package FlexLucene
paket add FlexLucene
FlexLucene Download (Unzip the "nupkg" after downloading)

1 package depend on this package.