lucenenet-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Shad Storhaug <s...@shadstorhaug.com>
Subject RE: Some FST and Automaton classes are internal
Date Fri, 15 Sep 2017 04:42:14 GMT
Hi Alex,

Thanks for the feedback.

We are following the accessibility of Lucene 4.8.0, or at least we are trying to! The 3 classes
you mentioned were actually made public in Lucene 4.8.0, so that is a bug.

Lucene.Net.Search.Suggest.Analyzing.FSTUtil.Path<T>.Output - This was made public in
Lucene 5.1, but I don't see any real issue with getting a jump on making it public now.

Lucene.Net.Util.Fst.FST.Arc<T>.Node - This is internal (in Java it is called package-private)
in 4.8.0 and all the way to the latest release (https://github.com/apache/lucene-solr/blob/releases/lucene-solr/6.6.1/lucene/core/src/java/org/apache/lucene/util/fst/FST.java#L183),
therefore we wouldn't want to make that field public, as it is clearly not intended for end
users. I suggest you contact the Lucene team on one of their mailing lists (https://lucene.apache.org/core/discussion.html),
describe your use case, and ask them what you are supposed to do since that field is not public.
Please send your query to this mailing list as well, as I am curious about this myself.

In the meantime, I will address the other issues before the upcoming beta release.

Thanks,
Shad Storhaug (NightOwl888)


-----Original Message-----
From: Alex Sherbachev [mailto:alex@convermax.com.INVALID] 
Sent: Friday, September 15, 2017 2:53 AM
To: dev@lucenenet.apache.org
Subject: Some FST and Automaton classes are internal

Hi !

First of all, thank you for all your hard work on bringing Lucene 4.8 to live!
We are excited to start using it in a production environment.

One question. As we got used to 4.8 code base, we implemented our own spell checker and suggester
modules based on FST and Automaton classes.
Unfortunately, some members are marked as internal so we can't use the NuGet package as is.

In particular, these classes are marked as internal:
Lucene.Net.Util.Automaton.BasicAutomata
Lucene.Net.Util.Automaton.BasicOperations
Lucene.Net.Util.Automaton.SpecialOperations
And these properties:
Lucene.Net.Search.Suggest.Analyzing.FSTUtil.Path<T>.Output
Lucene.Net.Util.Fst.FST.Arc<T>.Node

This correlates with
[assembly: InternalsVisibleTo("Lucene.Net.Suggest")] // For Automaton and few other assemblies
marked with InternalsVisibleTo attribute for the same reason as well.

Could you please expose Automaton and FST classes and properties as public?

Is there a reason to keep them internal, assuming that there might be other Suggester implementations
just like ours?

Regards,
Alex Sherbachev
--
Regards,
Alex Sherbachev
Mime
View raw message