Отображение двух полей с плавающей точкой, содержащих географическую широту и широту, в geo_point в kibana с помощью сервисного экземпляра AWS ElasticSearch - PullRequest
0 голосов
/ 26 февраля 2019

Я создаю решение, которое обрабатывает данные из Lambda (Python 2.7) через поток kinesis и отправляет их в домен Elastic Search.Данные хранятся в словаре Python и выводятся в виде JSON в Kinesis

                dataDictionary = {
                "precipitationType": precipitationType,
                "location": location,
                "humidity" : humidity,
                "groundTemp": groundTemp,
                "airTemp": airTemp,
                "windSpeed": windSpeed,
                "windDirection": windDirection,
                "measureDate": parsedMeasureDate,
                "systemDate": systemDate,
                "stationGeoLatitude": stationGeoLatitude,
                "stationGeoLongitude": stationGeoLongitude
            }
            #Push data to AWS Kinesis Stream
            res = kinesis.put_record(StreamName = LocalStreamName,Data=json.dumps(dataDictionary),PartitionKey='systemDate')

Процесс выполнен успешно, но я хочу отобразить результаты на карте в Kibana У меня только два поля с плавающей запятой и нет поля geo_point / geohash

Я не могу понять, как отобразить их в AWS ElasticSearch Service.Я нашел некоторую документацию по картографированию, но я не знаю, как использовать ее в AWS.Может быть, я должен передать эти данные другим способом в коде Python?

1 Ответ

0 голосов
/ 26 февраля 2019

Вы должны использовать сопоставления и указать эластичный поиск, чтобы отобразить ваши 2 поля в качестве местоположения географической точки:

https://www.elastic.co/guide/en/elasticsearch/reference/current/geo-point.html

Вам нужно будет переиндексировать ваши данные, но сначала укажите свойmappings.

Вы можете сделать это с помощью клиента Python или опубликовать руководство по отображению json:

PUT your_index

{
  "mappings": {
    "your_type": {
      "properties": {
        "location": {
          "type": "geo_point"
        }
      }
    }
  }
}
...