[ https://issues.apache.org/jira/browse/LUCENE-5460?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13907532#comment-13907532 ]
Robert Muir commented on LUCENE-5460: ------------------------------------- I dont think advanceExact solves anything. I think the root cause is things like queries doing too much work during intersection. There is an ancient issue about this that Paul opened, i'd rather see us solve the real problem than mudd up our APIs with hacks. advanceExact just saves a next(), but in the case of e.g. a costly phrasequery it still means you are doing "stupid unnecessary stuff" during intersection (like looking at positions). Fixing the real problem would be much faster than advanceExact. > Allow driving a query by sparse filters > --------------------------------------- > > Key: LUCENE-5460 > URL: https://issues.apache.org/jira/browse/LUCENE-5460 > Project: Lucene - Core > Issue Type: Improvement > Components: core/search > Reporter: Shai Erera > > Today if a filter is very sparse we execute the query in sort of a leap-frog > manner between the query and filter. If the query is very expensive to > compute, and/or matching few docs only too, calling scorer.advance(doc) just > to discover the doc it landed on isn't accepted by the filter, is a waste of > time. Since Filter is always the "final ruler", I wonder if we had something > like {{boolean DISI.advanceExact(doc)}} we could use it instead, in some > cases. > There are many combinations in which I think we'd want to use/not-use this > API, and they depend on: Filter's complexity, Filter.cost(), Scorer.cost(), > query complexity (span-near, many clauses) etc. > I open an issue so we can discuss. DISI.advanceExact(doc) is just a > preliminary proposal, to get an API we could experiment with. The default > implementation should be fairly easy and straightforward, and we could > override where we can offer a more optimized imp. -- This message was sent by Atlassian JIRA (v6.1.5#6160) --------------------------------------------------------------------- To unsubscribe, e-mail: dev-unsubscr...@lucene.apache.org For additional commands, e-mail: dev-h...@lucene.apache.org