You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user@lucenenet.apache.org by Hassan Iftikhar <Ha...@enghouse.com.INVALID> on 2021/03/17 11:58:22 UTC

Lusene.Net | .Net | .Net Core | .Net5 | .Net framework

Hi,

I am new at Lucene.Net and exploring it now a days to use it in our products. Here I have some questions to ask:


1.      Can we use Lucene.Net in .Net framework 4.6.1? As the stable version of Lucene.Net is 3.0.3 and from your website what can I see that it supports till .Net Framework 4.0.

2.      Can we use Lucene.Net in .Net Core? Because there is nothing information on your website related to support for Lucene.Net for .Net core.

3.      Is Lucene.Net providing the same set of features as compare to Lucene for Java?

4.      Can we use Lucene.Net in .Net5 i.e. on latest .Net frameworks?

Regards,
Hassan Iftikhar
Software Engineer, R&D
m: +92 (0) 300 064 9845
w: www.enghouseinteractive.com<http://www.enghouseinteractive.com/>
e: hassan.iftikhar@enghouse.com<ma...@enghouse.com>

As the world responds to the Covid-19 outbreak, Enghouse is committed to doing its part to support organisations' risk management efforts.
We are providing temporary licences of our secure cloud-based communications platform at no cost to your organisation.

[vidyo-trial-outlook-signature-v2]<https://enghouseinteractive.de/european-contact-center-dmg/>


RE: Lusene.Net | .Net | .Net Core | .Net5 | .Net framework

Posted by Shad Storhaug <sh...@shadstorhaug.com>.
Hi Hassan,

Ron has provided some good information, but there are a few additional things worth mentioning:

1. Every .NET Framework version higher than 4 is an in-place upgrade of .NET Framework 4. An assembly that targets .NET Framework 4 will always use the latest version of .NET Framework 4+ that is installed on the machine, with (mostly) backward compatible patches for behaviors of .NET Framework 4. I haven't specifically tested Lucene.NET 3.0.3 on .NET Framework 4.6.1, but if it weren't able to run on that version, I am sure we would be hearing reports about it from users. Lucene.NET 3.0.3 has not been maintained since its release in 2012, and it is not very likely development on that 10-year-old port of Lucene 3.x will continue.

2. The download page on our website for each beta contains the information about which target frameworks we support:
https://lucenenet.apache.org/download/version-4.8.0-beta00013.html#supported-frameworks. 

This information is also on the README of the GitHub repository: 
https://github.com/apache/lucenenet#lucenenet-480

See the .NET Standard page to see which platforms are supported in each version:

https://docs.microsoft.com/en-us/dotnet/standard/net-standard

3. Technically, there was no Lucene 3.0.3. I wasn't involved with the project back then, but I suspect that Lucene.NET 3.0.3 is a faithful port of Lucene 3.0.1. It could be from Lucene 3.0.0. Either way, the public API most likely didn't change much and usage samples you find about Lucene 3.x will work. For Lucene.NET 4.8.0, we are making an effort to ".NETify" the public API, so there may be more differences between the Java and .NET versions, but we will keep first 3 segments of the version number the same as the Java version even after the release so it is intuitive which Lucene version we have ported. If you are having trouble locating APIs in Lucene.NET 4.8.0 based on Lucene 4.x samples, the best way to reconcile the differences is to look at the tests in each project's GitHub repository.

https://github.com/apache/lucenenet
https://github.com/apache/lucene/tree/releases/lucene-solr%2F4.8.0

Also, note that we kept the file names the same as Java even though the name in .NET is different.

Keep in mind that some APIs have changed in Lucene versions higher than 4.8.0 and some research may be needed to back port examples from recent versions of Lucene back to 4.8.0 and there may be rare cases where the component you are after doesn't exist in Lucene 4.8.0.

4. We specifically run the tests on .NET 5 for Lucene.NET 4.8.0. There are nearly 7,900 passing tests for Lucene.NET and over 72,000 passing tests on J2N each in x64 and x86. Furthermore, the tests are run on Windows, macOS, and Linux. We are continuing to expand testing to mobile platforms. There are a few very rare test failures that we are still hunting down.

In our case "stable" is an indication that the API won't change between releases, not an indication of the quality of the software. In Lucene.NET 4.8.0 beta we are occasionally breaking public APIs between releases to fix performance issues and to make the APIs more usable. However, we are making a best effort to ensure that you can delay major changes to your code until the release candidate by marking old APIs with the ObsoleteAttribute with a message where to move to. See the releases page for reports of changes between beta versions:

https://github.com/apache/lucenenet/releases

Also, in Lucene.NET 4.8.0 we are actively fixing bugs that are reported and are actively working to improve the documentation.


Regards,
Shad Storhaug (NightOwl888)
Project Chairperson - Apache Lucene.NET


-----Original Message-----
From: RonClabo@GiftOasis.com <Ro...@GiftOasis.com> 
Sent: Wednesday, March 17, 2021 9:29 PM
To: user@lucenenet.apache.org
Subject: RE: Lusene.Net | .Net | .Net Core | .Net5 | .Net framework

Hi Hassan,

 

Thanks for your interest in Lucene.Net.  I am a recent contributor to the Lucene.Net 4.8 project and will do my best to answer your questions.

 

1)    Lucene.Net 3.0.3 is from some time ago so it makes sense that it
doesn't specifically target a newer version of the .Net 4.x framework.
However, if it's documented to support .Net Framework 4.0 it's very likely it will work on 4.61 since .Net Frameworks are generally backward compatible especially for the major version.  

2)    Lucenet.Net 4.8 which is currently in release Beta 13 supports both
the .Net Full Framework 4.5 and supports NetStandard2.0, NetStandard2.1.  As such it is compatible with .Net Core 2.0 or higher.

3)    Each Lucene.Net version attempts to be a faithful port of the
functionality in the corresponding Java Lucene version.  This is largely accomplished by porting the project from Java to C# on a line by line basis.
However, occasionally a few features and bug fixes are pulled in from later versions.  In general anything you read online about Java Lucene 3.0.3 will be accurate for Lucene.Net 3.0.3 and anything you read online about Java Lucene 4.8 will be accurate about Lucene.Net 4.8.  Also note that while Lucene.Net 4.8 may seem like it's version number is far behind the current Java version which is version 8.8, the reality is that the version 4.8 contains the _vast_ majority of features found in 8.8 because the big change (and multi-year effort) for Lucene came in version 4.0 when codecs were introduced.  Since then the features added per release have been much more modest and the releases much more frequent, hence the rapid escalation in version number.

4)    Lucene 4.8 can be used on the latest Full Framework and on the latest
.Net Core Framework.  More specifically, yes - Lucene.Net 4.8 is fully compatible with .Net5.  I personally use it with .Net5.  Lucene.Net 4.8 is in beta but I believe some people do use it in production as it has been extremely stable for a very long time and has a large number of unit tests ported from Java Lucene which are must pass before commits are added to the project.  Some in the LuceneNet developer community have even stated that they think 4.8 is already more solid then 3.0.3 given that the earlier version did not have the extensive unit tests to ensure accuracy of the port.  Lucene.Net 4.8 is actively being worked on with a goal to getting it to final release.  If you have any time to donate we'd welcome your help in polishing this version of LuceneNet.

 

Best,

 

Ron Clabo

rclabo on Github.

 

From: Hassan Iftikhar [mailto:Hassan.Iftikhar@enghouse.com.INVALID]
Sent: Wednesday, March 17, 2021 7:58 AM
To: user@lucenenet.apache.org
Subject: Lusene.Net | .Net | .Net Core | .Net5 | .Net framework

 

Hi,

 

I am new at Lucene.Net and exploring it now a days to use it in our products. Here I have some questions to ask:

 

1.      Can we use Lucene.Net in .Net framework 4.6.1? As the stable version
of Lucene.Net is 3.0.3 and from your website what can I see that it supports till .Net Framework 4.0.

2.      Can we use Lucene.Net in .Net Core? Because there is nothing
information on your website related to support for Lucene.Net for .Net core.

3.      Is Lucene.Net providing the same set of features as compare to
Lucene for Java?

4.      Can we use Lucene.Net in .Net5 i.e. on latest .Net frameworks?

 

Regards,

Hassan Iftikhar

Software Engineer, R&D

m: +92 (0) 300 064 9845

w:  <http://www.enghouseinteractive.com/> www.enghouseinteractive.com

e: hassan.iftikhar@enghouse.com

 

As the world responds to the Covid-19 outbreak, Enghouse is committed to doing its part to support organisations' risk management efforts. 
We are providing temporary licences of our secure cloud-based communications platform at no cost to your organisation.

 

 <https://enghouseinteractive.de/european-contact-center-dmg/>
vidyo-trial-outlook-signature-v2

 


RE: Lusene.Net | .Net | .Net Core | .Net5 | .Net framework

Posted by Ro...@GiftOasis.com.
Hi Hassan,

 

Thanks for your interest in Lucene.Net.  I am a recent contributor to the
Lucene.Net 4.8 project and will do my best to answer your questions.

 

1)    Lucene.Net 3.0.3 is from some time ago so it makes sense that it
doesn't specifically target a newer version of the .Net 4.x framework.
However, if it's documented to support .Net Framework 4.0 it's very likely
it will work on 4.61 since .Net Frameworks are generally backward compatible
especially for the major version.  

2)    Lucenet.Net 4.8 which is currently in release Beta 13 supports both
the .Net Full Framework 4.5 and supports NetStandard2.0, NetStandard2.1.  As
such it is compatible with .Net Core 2.0 or higher.

3)    Each Lucene.Net version attempts to be a faithful port of the
functionality in the corresponding Java Lucene version.  This is largely
accomplished by porting the project from Java to C# on a line by line basis.
However, occasionally a few features and bug fixes are pulled in from later
versions.  In general anything you read online about Java Lucene 3.0.3 will
be accurate for Lucene.Net 3.0.3 and anything you read online about Java
Lucene 4.8 will be accurate about Lucene.Net 4.8.  Also note that while
Lucene.Net 4.8 may seem like it's version number is far behind the current
Java version which is version 8.8, the reality is that the version 4.8
contains the _vast_ majority of features found in 8.8 because the big change
(and multi-year effort) for Lucene came in version 4.0 when codecs were
introduced.  Since then the features added per release have been much more
modest and the releases much more frequent, hence the rapid escalation in
version number.

4)    Lucene 4.8 can be used on the latest Full Framework and on the latest
.Net Core Framework.  More specifically, yes - Lucene.Net 4.8 is fully
compatible with .Net5.  I personally use it with .Net5.  Lucene.Net 4.8 is
in beta but I believe some people do use it in production as it has been
extremely stable for a very long time and has a large number of unit tests
ported from Java Lucene which are must pass before commits are added to the
project.  Some in the LuceneNet developer community have even stated that
they think 4.8 is already more solid then 3.0.3 given that the earlier
version did not have the extensive unit tests to ensure accuracy of the
port.  Lucene.Net 4.8 is actively being worked on with a goal to getting it
to final release.  If you have any time to donate we'd welcome your help in
polishing this version of LuceneNet.

 

Best,

 

Ron Clabo

rclabo on Github.

 

From: Hassan Iftikhar [mailto:Hassan.Iftikhar@enghouse.com.INVALID] 
Sent: Wednesday, March 17, 2021 7:58 AM
To: user@lucenenet.apache.org
Subject: Lusene.Net | .Net | .Net Core | .Net5 | .Net framework

 

Hi,

 

I am new at Lucene.Net and exploring it now a days to use it in our
products. Here I have some questions to ask:

 

1.      Can we use Lucene.Net in .Net framework 4.6.1? As the stable version
of Lucene.Net is 3.0.3 and from your website what can I see that it supports
till .Net Framework 4.0.

2.      Can we use Lucene.Net in .Net Core? Because there is nothing
information on your website related to support for Lucene.Net for .Net core.

3.      Is Lucene.Net providing the same set of features as compare to
Lucene for Java?

4.      Can we use Lucene.Net in .Net5 i.e. on latest .Net frameworks?

 

Regards,

Hassan Iftikhar

Software Engineer, R&D

m: +92 (0) 300 064 9845

w:  <http://www.enghouseinteractive.com/> www.enghouseinteractive.com

e: hassan.iftikhar@enghouse.com

 

As the world responds to the Covid-19 outbreak, Enghouse is committed to
doing its part to support organisations' risk management efforts. 
We are providing temporary licences of our secure cloud-based communications
platform at no cost to your organisation.

 

 <https://enghouseinteractive.de/european-contact-center-dmg/>
vidyo-trial-outlook-signature-v2