You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@lucene.apache.org by "Alan Woodward (JIRA)" <ji...@apache.org> on 2017/01/11 11:34:58 UTC

[jira] [Created] (LUCENE-7627) Improve TermsEnum automaton filtering APIs

Alan Woodward created LUCENE-7627:
-------------------------------------

             Summary: Improve TermsEnum automaton filtering APIs
                 Key: LUCENE-7627
                 URL: https://issues.apache.org/jira/browse/LUCENE-7627
             Project: Lucene - Core
          Issue Type: Improvement
            Reporter: Alan Woodward


To filter a TermsEnum by a CompiledAutomaton, we currently have a number of different possibilities:
* Terms.intersect(CompiledAutomaton, BytesRef) - efficient, but only works on NORMAL type automata
* CompiledAutomaton.getTerms(Terms) - efficient, works on all automaton types, but requires a Terms instead of a TermsEnum, so no use for eg SortedDocValues.termsEnum()
* AutomatonTermsEnum - takes a TermsEnum, so it's more general than the Terms methods above, but agian only works on NORMAL automata

It's easy to do the wrong thing here, and at the moment we only guard against incorrect usage via runtime checks (see eg LUCENE-7576, https://github.com/flaxsearch/marple/issues/24).  We should try and clean this up.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

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