rclabo commented on issue #437: URL: https://github.com/apache/lucenenet/issues/437#issuecomment-1075737268
@alexhiggins732 I agree with @NightOwl888, it’s much better to fully complete version 4.8 before working to upgrade it to whatever the current version of Java Lucene is at that time. You mentioned: >Didn't realize Lucene was on version 9.1 already. This is just a beta version of 4.8, which was released in on Apr 27, 2014, nearly 8 years ago. Looking at the current features and changes, the CSharp codebase is leaps and bounds behind. I can understand how the casual observer might reach that conclusion. In fact when I first discovered Lucene.NET 4.8 Beta a couple years ago I too wondered whether its feature set was current enough to be of value. But the more I dug into the project the more I was blown away by Lucene.NET 4.8’s power and the [advanced engineering]( http://opensearchlab.otago.ac.nz/paper_10.pdf) it contains. It’s truly a remarkable piece of software. It’s architecture and features are as relevant today as ever. I know that people see the 4.8 version number, Beta status and length of time it’s taken to port it and they wonder how relevant it is. That’s understandable And that’s the reason I recently I wrote a blog article [Lucene.NET 4.8 vs Java Lucene 9.x]( Lucene.NET 4.8 vs Java Lucene 9.x) to help people realize that Lucene.NET 4.8 has a wealth of features and the majority of the features of Java Lucene 9.x. ## Release Schedule Analysis Besides what I mention in the blog article, it’s important to realize that the time period between major releases was much longer during the version 1.x to version 4.8 era. And since then, the Lucene team, like most software teams, has moved to doing smaller more frequent releases. Let’s look at the release timeline of Java Lucene. 2000 – First open source version of Lucene. 2002 – Lucene 1.2 released Under Apache License 2003 – Lucene 1.3 released 2006 – Lucene 2.9 released 2009 – Lucene 3.0 released 2012 – Lucene 4.0 released 2014 – Lucene 4.8 released 2015 – Lucene 5.0 Released 2016 – Lucene 6.0 Released 2017 – Lucene 7.0 Released 2019 – Lucene 8 Released 2021 – Lucene 9 Released Source: https://www.elastic.co/celebrating-lucene#2020 I don’t know how many years Doug Cutting worked on Lucene before making it open source in 2000. But ya gotta guess it was at least two years. Now look when Lucene 4.8 was released, in 2014. So at the release of Lucene 4.8 there was probably 16+ years of development behind it. That’s not labor years, just calendar years. **Think about that for a minute.** But how many years difference is there between Lucene 4.8 to Lucene 9? 7 years. Now 7 years is a lot, I grant you that. But it’s important to remember that the single biggest new set of features ever to be introduced in the history of Lucene came in version 4.0. That’s why it took more than 3 years for the Java team get to the 4.0 release *even with a large team*. In our case 8 years have passed in going from Lucene.NET 3.03 to 4.8. But our team is much smaller and we don’t currently have any corporate backing (Java Lucene has **LOTS** of corporate backing). ## Why even compare to Java Lucene? Honestly, I don’t see a lot of point in comparing Lucene.NET to Java Lucene, unless you are equally happy to use a Java library as a .NET one. If that’s the case, the comparison is valid and you should seriously consider using Java Lucene 9.1. But if you are a .NET developer developing a .NET application, website or mobile App then the comparison isn’t really between Lucene.NET 4.8 and Java Lucene 9.1, it’s between Lucene.NET and other .NET based search libraries. ## What I see when I look at Lucene.NET 4.8 So when I look at Lucene.NET 4.8 I see something totally different than what you see. I see a software architecture that was initially created by someone (Doug Cutting) who was creating his “**fifth search engine**, having previously written two while at Xerox PARC, one at Apple, and a fourth at Excite.” [source]( https://en.wikipedia.org/wiki/Apache_Lucene). Hat’s off to Doug for sharing this with the world. Wow! I see an insanely large feature set hammered out by numerous developers over a 16+ year timeframe. I see more than [644K+](https://lucenenet.apache.org/images/contributing/source/lucenenet-repo-lines-of-code--jan-2022.png) lines of code (not counting dependencies!) that have been ported to c#, and run on .NET on Windows, Linux or MacOS. I see a powerful search library that can be used to search enable desktop applications, websites or mobile apps (Android or iOS). I see a multi-targeted search library that runs on the .NET Full Framework, .NET Core 3.1 LTS, .NET 5 or even the latest and greatest .NET 6. I see a project that while calling itself beta because a few method signatures may still change, **has 7800+ passing unit tests and is clearly production worthy right now in my mind.** -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: dev-unsubscr...@lucenenet.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org