Point field type

edit

The point data type facilitates the indexing of and searching arbitrary x, y pairs that fall in a 2-dimensional planar coordinate system.

You can query documents using this type using shape Query.

There are four ways that a point may be specified, as demonstrated below:

PUT my-index-000001
{
  "mappings": {
    "properties": {
      "location": {
        "type": "point"
      }
    }
  }
}

PUT my-index-000001/_doc/1
{
  "text": "Point as an object",
  "location": { 
    "x": 41.12,
    "y": -71.34
  }
}

PUT my-index-000001/_doc/2
{
  "text": "Point as a string",
  "location": "41.12,-71.34" 
}


PUT my-index-000001/_doc/4
{
  "text": "Point as an array",
  "location": [41.12, -71.34] 
}

PUT my-index-000001/_doc/5
{
  "text": "Point as a WKT POINT primitive",
  "location" : "POINT (41.12 -71.34)" 
}

Point expressed as an object, with x and y keys.

Point expressed as a string with the format: "x,y".

Point expressed as an array with the format: [ x, y]

Point expressed as a Well-Known Text POINT with the format: "POINT(x y)"

The coordinates provided to the indexer are single precision floating point values so the field guarantees the same accuracy provided by the java virtual machine (typically 1E-38).

Parameters for point fields

edit

The following parameters are accepted by point fields:

ignore_malformed

If true, malformed points are ignored. If false (default), malformed points throw an exception and reject the whole document.

ignore_z_value

If true (default) three dimension points will be accepted (stored in source) but only x and y values will be indexed; the third dimension is ignored. If false, points containing any more than x and y (two dimensions) values throw an exception and reject the whole document.

null_value

Accepts an point value which is substituted for any explicit null values. Defaults to null, which means the field is treated as missing.

Sorting and retrieving points

edit

It is currently not possible to sort points or retrieve their fields directly. The point value is only retrievable through the _source field.