Lucene.NET status update (October '16)

English Posts, .NET, Lucene, Lucene.NET, Open-source

Comments

3 min read

I have previously blogged about Lucene.NET - saying we are nearing a release, and are happy with what we have so far to call it Beta and ask all to upgrade and let us know how it goes.

Thanks to our contributors, with a lot of great work done by Shad Storhaug we are getting ever closer.

Tests and stability

We now have over 5000 passing tests, with all the important bits ported and properly tested. Namely, this boils down to the following:

Ported:

Lucene.Net (Core) - 15 failing / 1989 total
Lucene.Net.Analysis.Common - 0 failing / 1445 total
Lucene.Net.Classification - 0 failing / 9 total
Lucene.Net.Expressions - 0 failing / 94 total
Lucene.Net.Facet - 0 failing / 152 total
Lucene.Net.Join - 0 failing / 27 total
Lucene.Net.Memory - 0 failing / 10 total
Lucene.Net.Misc - 2 failing / 42 total
Lucene.Net.Queries - 2 failing / 96 total
Lucene.Net.QueryParser - 1 failing / 203 total
Lucene.Net.Suggest - 0 failing / 142 total

Still need to be ported / brought up to speed:

Lucene.Net.Highlighter
Lucene.Net.Spatial
Lucene.Net.Codecs (Partially ported, mostly the tests weren't ported)
Lucene.Net.Grouping		

Some modules (mainly the least frequently used ones in Analysis) will not be ported by us before the official release. Those modules are less frequently used, and we want to stabilize and release first and then work on them based on demand.

At this point we basically have the entire Core and Core-supporting modules ported, and the complete test harness testing it, with only a small number of tests failing. We attribute some of the failures to the test infrastructure we use (NUnit, which we are now looking to replace with xUnit) but some may be subtle bugs. We are working on getting those nailed down.

.NETification

Once all modules are ported and all tests are passing, we will probably be concentrating our efforts on two fronts.

  1. .NET Core support - we did some work on that front, but we are not there yet. We want to have as much as Lucene.NET running on .NET Core, and we will put some efforts into supporting that.

  2. Some of the public-facing APIs are still not entirely .NET-y, and we want them to be so. We will fix what we can to guarantee familiar API to .NET devs, but without risking diverging from the Java Lucene codebase too much - so code examples work out of the box, and also future porting work isn't too hard to do.

Docs and guidance

Probably the most important bits. For a good library to be accessible it needs to have good docs and plenty of examples. Preferably in video form or something that is easy to follow. I'm on it :)


Comments

  • Nikunj Banker

    Dear Itamar Syn-Hershko,

    I am very new to Lucene.net. We would like to use it as Enterprise Search. We would like to use latest version of Lucene.net (version 4.8). I didn't found any documentation related to 4.8 version. It would be really helpfull, if you can provide any help document for latest lucene.net version.

    Regards, Nikunj Banker

    • Itamar Syn-Hershko

      Hi, thanks, happy to have you as users. I will be publishing tutorials and documentation in the course of the upcoming weeks as we are nearing an official release.

  • Oliver

    I tried to run the 4.8.0.685-beta version in a .net core application.

    I get "Package Lucene.Net 4.8.0.685 is not compatible with netcoreapp1.0 (.NETCoreApp,Version=v1.0). Package Lucene.Net 4.8.0.685 supports: net451 (.NETFramework,Version=v4.5.1)"

    Do you already know then it will have the support for this aspnet core framework?

    Thanks in advance.

    • Itamar Syn-Hershko

      It is still WIP. Please use the project's mailing list to get support.

  • Jonas

    Dear Shad Storhaug & tamar Syn-Hershko & all other unknown volunteers

    We are so lucky too have you guys working so hard to make this available for us! Many many thanks. This is the best present for all .NET developers wanting to search! We should never forget the effort you all put into this! I see how complex this project is and from how far this comes. So much userfriendly is missing.

    Now I see more documentation is coming and you want to make it available for ..NET Core HALLELUJAH!

    Jonas

  • Giorgos Papadakis

    Time to fork elasticsearch, and port it on .net core

  • Marc Huber

    Dear Itamar

    We saw that a lot of modules are already available. For our project we need Lucene.net.contrib.highlighter for showing search fragments as google shows it. Is this module not finished yet? If no, is there an alternative for this function?

    We have also the following modules from version 3.0.3:

    Lucene.Net.Contrib.Memory -> is this Lucene.Net.Memory in version 4.8? Lucene.Net.Contrib.SimpleFacetedSearch -> is this Lucene.Net.Facet in version 4.8?

    Thanks a lot.

    Regards Marc Huber

Comments are now closed