Details

    • Type: New Feature New Feature
    • Status: Closed
    • Priority: Minor Minor
    • Resolution: Fixed
    • Affects Version/s: None
    • Fix Version/s: 4.3, 6.0
    • Component/s: modules/spatial
    • Labels:
      None
    • Lucene Fields:
      New

      Description

      The "IsDisjointTo" SpatialOperation is not implemented for RecursivePrefixTreeStrategy and some/all others. It has been very low priority because it is simply the inverse of "Intersects" which is universally implemented on the SpatialStrategy implementations.

      • Should spatial "disjoint" count documents that have no spatial data?
      • Arguably, there should be one implementation amongst the SpatialStrategies implemented in terms of "Intersects"; this way each strategy need not deal with it.

        Activity

        Hide
        Ryan McKinley added a comment -

        Should spatial "disjoint" count documents that have no spatial data?

        Hopefully not – I guess that implies we need a query for IsSpatial() or equivalent so IsDisjointTo() = IsSpatial() && !Intersects()

        Show
        Ryan McKinley added a comment - Should spatial "disjoint" count documents that have no spatial data? Hopefully not – I guess that implies we need a query for IsSpatial() or equivalent so IsDisjointTo() = IsSpatial() && !Intersects()
        Hide
        David Smiley added a comment -

        Yeah, I agree. Some apps will always have spatial data in a field and so calculating IsSpatial() is redundant, though I suppose that's not a big deal if it's cached. Where shall that be cached? Hmmm.

        Show
        David Smiley added a comment - Yeah, I agree. Some apps will always have spatial data in a field and so calculating IsSpatial() is redundant, though I suppose that's not a big deal if it's cached. Where shall that be cached? Hmmm.
        Hide
        David Smiley added a comment -

        Attached is a generic Filter implementing the disjoint predicate in terms of a provided SpatialStrategy's support for intersects, as well as field designated to determine which docs have spatial data via the FieldCache.

        I have yet to integrate this with the existing strategies and test it because such things would conflict with an outstanding spatial issue pending to be committed tonight. So I'll do these things tomorrow.

        Show
        David Smiley added a comment - Attached is a generic Filter implementing the disjoint predicate in terms of a provided SpatialStrategy's support for intersects, as well as field designated to determine which docs have spatial data via the FieldCache. I have yet to integrate this with the existing strategies and test it because such things would conflict with an outstanding spatial issue pending to be committed tonight. So I'll do these things tomorrow.
        Hide
        David Smiley added a comment -

        The attached patch renames the filter to "DisjointSpatialFilter" to follow a consistent naming convention with the other filters.

        More importantly, it includes extensive randomized testing--not just for this filter but for the other predicates supported by RecursivePrefixTreeStrategy too. That testing is what triggered my discovery of two spatial bugs I recently reported & fixed.

        I plan to commit this in a couple days.

        Show
        David Smiley added a comment - The attached patch renames the filter to "DisjointSpatialFilter" to follow a consistent naming convention with the other filters. More importantly, it includes extensive randomized testing--not just for this filter but for the other predicates supported by RecursivePrefixTreeStrategy too. That testing is what triggered my discovery of two spatial bugs I recently reported & fixed. I plan to commit this in a couple days.
        Hide
        Uwe Schindler added a comment -

        Closed after release.

        Show
        Uwe Schindler added a comment - Closed after release.

          People

          • Assignee:
            David Smiley
            Reporter:
            David Smiley
          • Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

            Dates

            • Created:
              Updated:
              Resolved:

              Development