[ 
https://issues.apache.org/jira/browse/LUCENE-4285?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13427435#comment-13427435
 ] 

David Smiley commented on LUCENE-4285:
--------------------------------------

Keep in mind, from an FST outsider like me, *FSTs are basically a fancy 
SortedMap*.  Yet Lucene's FST API is so complicated that there is a dedicated 
package of classes, and I need to understand a fair amount of it.  I'm not 
saying the package should go away or just one class is realistic, just that 
conceptually for outsiders it can and should be simpler than it is.

The Util.get* methods should have instance methods on the FST.  I shouldn't 
need to look at Util, I think.

The BytesReader concept is confusing and should be hidden.

Outputs... this aspect of the API is over-exposed; maybe it can be hidden more? 
 I know I need to choose an implementation at construction.

FSTEnum is pretty cool, and improving it or creating variants of it could help 
to simply using the overall API.  The FST should have a getter for it.  It 
would be nice if FSTEnum could advance to the next arc by a label (I need 
this).  It would be something like next(int).  Can it be improved to the point 
where, for example, SynonymFilter can use it?  It would be nice to reduce the 
use-cases where users/client-code don't have to even see an Arc.
                
> Improve FST API usability for mere mortals
> ------------------------------------------
>
>                 Key: LUCENE-4285
>                 URL: https://issues.apache.org/jira/browse/LUCENE-4285
>             Project: Lucene - Core
>          Issue Type: Improvement
>          Components: core/FSTs
>            Reporter: David Smiley
>
> FST technology is something that has brought amazing advances to Lucene, yet 
> the API is hard to use for the vast majority of users like me.  I know that 
> performance of FSTs is really important, but surely a lot can be done without 
> sacrificing that.
> (comments will hold specific ideas and problems)

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: 
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscr...@lucene.apache.org
For additional commands, e-mail: dev-h...@lucene.apache.org

Reply via email to