[
https://issues.apache.org/jira/browse/LUCENE-5692?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14052792#comment-14052792
]
David Smiley commented on LUCENE-5692:
--------------------------------------
Ok; I'm going to mark it deprecated, and add an Ignore annotation to RPT's
Disjoint test. And I'll have the trunk RecursivePrefixTreeStrategy remove
support for it, leaving it in 4x.
Note to self: I do think I could make a simple variation of
IntersectsPrefixTreeFilter (IPTF isn't much code any way) to implement
disjoint. Perhaps I'll do that sometime but not now. But even if I did... it
wouldn't be as fast as what should be recommended (what I said in the
description):
bq. and if a user wants to do this for real, they should index a boolean field
marking wether there's spatial data and then combine that with a NOT and
Intersects, in a straight-forward way.
> Deprecate spatial DisjointSpatialFilter
> ---------------------------------------
>
> Key: LUCENE-5692
> URL: https://issues.apache.org/jira/browse/LUCENE-5692
> Project: Lucene - Core
> Issue Type: Bug
> Components: modules/spatial
> Affects Versions: 5.0
> Reporter: David Smiley
>
> The spatial predicate "IsDisjointTo" is almost the same as the inverse of
> "Intersects", except that it shouldn't match documents without spatial data.
> In another sense it's as if the query shape were inverted.
> DisjointSpatialFilter is a utility filter that works (or worked, rather) by
> using the FieldCache to see which documents have spatial data
> (getDocsWithField()). Calculating that was probably very slow but it was at
> least cacheable. Since LUCENE-5666 (v5/trunk only), Rob replaced this to use
> DocValues. However for some SpatialStrategies (PrefixTree based) it wouldn't
> make any sense to use DocValues *just* so that at search time you could call
> getDocsWithField() when there's no other need for the un-inversion (e.g. no
> need to lookup terms by document).
> Perhaps an immediate fix is simply to revert the change made to
> DisjointSpatialFilter so that it uses the FieldCache again, if that works
> (though it's not public?). But stepping back a bit, this
> DisjointSpatialFilter is really something unfortunate that doesn't work as
> well as it could because it's not at the level of Solr or ES -- that is,
> there's no access to a filter-cache. So I propose I simply remove it, and if
> a user wants to do this for real, they should index a boolean field marking
> wether there's spatial data and then combine that with a NOT and Intersects,
> in a straight-forward way.
> Alternatively, some sort of inverting query shape could be developed,
> although it wouldn't work with the SpatialPrefixTree technique because there
> is no edge distinction -- the edge matches normally and notwithstanding
> changes to RPT algorithms it would also match the edge of an inverted shape.
--
This message was sent by Atlassian JIRA
(v6.2#6252)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]