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: [email protected]
For additional commands, e-mail: [email protected]