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]

Reply via email to