[
https://issues.apache.org/jira/browse/LUCENE-7627?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15818100#comment-15818100
]
Alan Woodward commented on LUCENE-7627:
---------------------------------------
bq. I think the next step could be to address the TODO in
CompiledAutomaton#getTermsEnum(Terms)
Although this might be trickier than it looks, as the contract on Terms is that
you get a TermsEnum which will only return terms > startTerm, but it's
initially unpositioned - which makes handling Type.ALL complicated...
> 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
> Attachments: LUCENE-7627.patch
>
>
> 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]