etspring
@etspring
Начитанное быдло

Как сохранить lat/lon в geo_point с незначащей ( нулевой ) дробной частью?

Доброго времени суток.
Имеется индекс с маппингом
...
"location": {
  "type": "geo_point"
},
"location_raw_coords": {
  "type": "text"
}
...


Имеется запись в индексе
"_source": {
  "id": "65f9adf90344fca3d5ddd647",
    "location": {
      "lon": 30,
      "lat": 20
    },
  "location_raw_coords": "20.0,30.0"
}


В location_raw_coords пишутся lat/lon через запятую as is ( поле текстовое и сделано специально для проверки ).
При попытке сохранить geo_point как {"lat": 20.0, "lon":30.0 } удаляются незначащие нули.
Каким образом можно заставить ES не удалять их при сохранении и отдавать as is в поисковых результатах?

Заранее спасибо за ответ
  • Вопрос задан
  • 42 просмотра
Пригласить эксперта
Ответы на вопрос 1
leahch
@leahch
3D специалист. Dолго, Dорого, Dерьмово.
Используйте geohash.
И на подобный вопрос я отвечал лет 5 назад :)
Elasticsearch geohash — как получить данные которые были агрегированы?
Библиотек конверторов lat/lon-geihash полно на любом языке.

Упс. lat/lon это просто действительное чмсло, на любом ящыке его можно форматировать с заданной точностью. Так что думается, проблема не в эластике, а в языке программирования. Приведите число к double и все.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы
SpectrumData Екатеринбург
от 300 000 до 400 000 ₽
LIME Москва
от 280 000 до 350 000 ₽
28 нояб. 2024, в 05:21
2000 руб./за проект
28 нояб. 2024, в 05:18
500 руб./за проект
28 нояб. 2024, в 03:51
3500 руб./за проект