[ 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: dev-unsubscr...@lucene.apache.org For additional commands, e-mail: dev-h...@lucene.apache.org