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:[email protected]] 
Sent: Friday, September 15, 2017 2:53 AM
To: [email protected]
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

Reply via email to