[
https://issues.apache.org/jira/browse/LUCENE-4410?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Simon Willnauer updated LUCENE-4410:
------------------------------------
Attachment: LUCENE-4410.patch
This patch introduces a FilterStrategy similar to MTQ#RewriteMethod that wraps
a given scorer & DocIDSet into a "Filtered Scorer". By default FilteredQuery
uses the RandomAccessFilterStrategy that falls back to leap frog just like FQ
did before. In contrast to the current FQ #useRandomAccess is now an impl
detail of the RAFilterStrategy and might be removed with a different
implementation that might rely on Scorer#cost() or something like that.
I also added a DocFirstFilterStrategy that applies filters only iff the
delegate scorer matched. This seems more consistent with what other queries do
(ie. MTQ) and provides more flexibility to the user
> Make FilteredQuery more flexible with regards to how filters are applied
> ------------------------------------------------------------------------
>
> Key: LUCENE-4410
> URL: https://issues.apache.org/jira/browse/LUCENE-4410
> Project: Lucene - Core
> Issue Type: Improvement
> Components: core/search
> Affects Versions: 4.0-BETA
> Reporter: Simon Willnauer
> Priority: Blocker
> Fix For: 5.0, 4.0
>
> Attachments: LUCENE-4410.patch
>
>
> Currently FilteredQuery uses either the "old" lucene 3 leap frog approach or
> pushes the filter down together with accepted docs. Yet there might be more
> strategies required to fit common usecases like geo-filtering where a rather
> costly function is applied to each document. Using leap frog this might
> result in a very slow query if the filter is advanced since it might have
> linear running time to find the next valid document. We should be more
> flexible with regards to those usecases and make it possible to either tell
> FQ what to do or plug in a strategy that applied a filter in a different way.
> The current FQ impl also uses an heuristic to decide if RA or LeapFrog should
> be used. This is really an implementation detail of the strategy and not of
> FQ and should be moved out.
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]