Skip to content

Geo point on the edges of the bounding box not considered? #29196

@mloho

Description

@mloho

Elasticsearch server version: {"number": "5.6.6","lucene_version": "6.6.1"}
Elasticsearch client version: 6.2.1

Plugins installed: [{ "name": "x-pack", "version": "5.6.6", "description": "Elasticsearch Expanded Pack Plugin", "classname": "org.elasticsearch.xpack.XPackPlugin", "has_native_controller": true }]

JVM version: 1.8.0_151

OS version: Linux ubuntu 4.4.0-116-generic

Steps to reproduce

  1. Document has a geo point field like so: "Location":[-83.106,28]
  2. Java-API-generated query contains a geo bounding box filter like so:
{
  "geo_bounding_box": {
    "Location": {
      "top_left": [
        -83.106,
        28
      ],
      "bottom_right": [
        -80.106,
        27
      ]
    },
    "validation_method": "STRICT",
    "type": "MEMORY",
    "ignore_unmapped": false,
    "boost": 1
  }
}

Expected
The query returns my document.

Actual
The query returns nothing. The query contains other filters but they do not interfere with the results because once I change the top value of the top_level field of the geo bounding box filter to -83.107, the document gets returned.

Observations & Questions

  • The same quirk can also be seen with the longitude value. If I change 28 and 27 to 29 and 28, I get nothing.
  • I can find no documentation to back up our initial assumption that the bounding box filter would be inclusive all around. Is the query supposed to return the document if its geo point exists on any of the edges of the bounding box?

Metadata

Metadata

Assignees

Labels

:Analytics/GeoIndexing, search aggregations of geo points and shapes>docsGeneral docs changes

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions