David Smiley created LUCENE-5579:
------------------------------------
Summary: Spatial, enhance RPT to differentiate confirmed from
non-confirmed hits, then validate with SDV
Key: LUCENE-5579
URL: https://issues.apache.org/jira/browse/LUCENE-5579
Project: Lucene - Core
Issue Type: New Feature
Components: modules/spatial
Reporter: David Smiley
If a cell is within the query shape (doesn't straddle the edge), then you can
be sure that all documents it matches are a confirmed hit. But if some
documents are only on the edge cells, then those documents could be validated
against SerializedDVStrategy for precise spatial search. This should be *much*
faster than using RPT and SerializedDVStrategy independently on the same
search, particularly when a lot of documents match.
Perhaps this'll be a new RPT subclass, or maybe an optional configuration of
RPT. This issue is just for the Intersects predicate, which will apply to
Disjoint. Until resolved in other issues, the other predicates can be handled
in a naive/slow way by creating a filter that combines RPT's filter and
SerializedDVStrategy's filter using BitsFilteredDocIdSet.
One thing I'm not sure of is how to expose to Lucene-spatial users the
underlying functionality such that they can put other query/filters in-between
RPT and the SerializedDVStrategy. Maybe that'll be done by simply ensuring the
predicate filters have this capability and are public.
It would be ideal to implement this capability _after_ the PrefixTree term
encoding is modified to differentiate edge leaf-cells from non-edge leaf cells.
This distinction will allow the code here to make more confirmed matches.
--
This message was sent by Atlassian JIRA
(v6.2#6252)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]