Spec-Zone.ru › Elasticsearch 7
›Elasticsearch Guide [7.17] ›Mapping ›Типы данных полей

Тип поля point

Тип данных point позволяет индексировать и выполнять поиск произвольных пар x, y, которые попадают в двухмерную декартову систему координат.

Вы можете выполнять поиск документов с помощью этого типа, используя запрос Shape.

Существует четыре способа указания точки, как показано ниже:

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)" 
}

Точка, выраженная как объект, с ключами x и y.

Точка, выраженная как строка в формате: "x,y".

Точка, выраженная как массив в формате: [ x, y]

Точка, выраженная как Well-Known Text POINT в формате: "POINT(x y)"

Координаты, предоставленные индексатору, — это значения с плавающей запятой одинарной точности, поэтому поле гарантирует такую же точность, как и виртуальная машина Java (обычно 1E-38).

Параметры для полей point

Следующие параметры принимаются полями point:

ignore_malformed

Если true, некорректные точки игнорируются. Если false (по умолчанию), некорректные точки вызывают исключение и отклоняют весь документ.

ignore_z_value

Если true (по умолчанию), трехмерные точки будут приниматься (хранятся в источнике), но будут индексироваться только значения x и y; третье измерение игнорируется. Если false, точки, содержащие больше, чем x и y (два измерения), вызовут исключение и отклонят весь документ.

null_value

Принимает значение точки, которое подставляется вместо явных null значений. По умолчанию значение null, что означает, что поле считается отсутствующим.

Сортировка и получение точек

В настоящее время невозможно сортировать точки или получать их поля напрямую. Значение point доступно только через поле _source.

© 2023-2025 Elasticsearch
As of September 2024, Elasticsearch is available under a choice of three licenses: the Server Side Public License (SSPL), the Elastic License, or the AGPLv3 (OSI approved).
Elasticsearch and the Elasticsearch logo are trademarks of Elasticsearch B.V., registered in the U.S. and in other countries.
https://www.elastic.co/guide/en/elasticsearch/reference/7.17/point.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API