У меня есть некоторые координаты, которые я передаю Elasticsearch из Logsta sh, но Elasti c хранит только 3 знака после запятой, поэтому в случае с координатами я полностью теряю местоположение.
Когда я отправляю данные из Logsta sh, я вижу, что он получил правильное значение:
{
"nasistencias" => 1,
"tiempo_demora" => "15",
"path" => "/home/elk/data/visits.csv",
"menor" => "2",
"message" => "5,15,Parets del Vallès,76,0,8150,41.565505,2.234999575,LARINGITIS AGUDA,11/3/17 4:20,1,38,1,2,POINT(2.2349995750000695 41.565505000000044)",
"id_poblacion" => 76,
"@timestamp" => 2017-03-11T04:20:00.000Z,
"poblacion" => "Parets del Vallès",
"edad_valor" => 0,
"patologia" => "LARINGITIS AGUDA",
"host" => "elk",
"@version" => "1",
"Geopoint_corregido" => "POINT(2.2349995750000695 41.565505000000044)",
"id_tipo" => 1,
"estado" => "5",
"cp" => 8150,
"location" => {
"lon" => 2.234999575, <- HERE
"lat" => 41.565505 <- AND HERE
},
"id_personal" => 38,
"Fecha" => "11/3/17 4:20"
}
Но затем я получаю его на Кибане следующим образом:
Я выполняю преобразование следующим образом:
mutate {
convert => { "longitud_corregida" => "float" }
convert => { "latitude_corregida" => "float" }
}
mutate {
rename => {
"longitud_corregida" => "[location][lon]"
"latitude_corregida" => "[location][lat]"
}
}
Как сохранить все десятичные дроби? При геолокации одно десятичное число может вернуть неправильный город.
Другой вопрос (связанный)
Я добавляю данные в документ CSV следующим образом:
# echo "5,15,Parets del Vallès,76,0,8150,"41.565505","2.234999575",LARINGITIS AGUDA,11/3/17 4:20,1,38,1,2,POINT(2.2349995750000695 41.565505000000044)" >> data/visits.csv
Но в оригинальном документе вместо точек есть комы для координат. как это:
# echo "5,15,Parets del Vallès,76,0,8150,"41,565505","2,234999575",LARINGITIS AGUDA,11/3/17 4:20,1,38,1,2,POINT(2.2349995750000695 41.565505000000044)" >> data/visits.csv
Но проблема заключалась в том, что он получал кому в качестве разделителя полей, и все данные отправлялись в Elasticsearch неправильно. Как здесь:
Здесь широта была 41,565505
, но эта кома заставила ее понимать 41
как широту и 565505
как долгота. Я изменил кому на точку, и не уверен, понимает ли float комы и точки, или просто комы. У меня вопрос, не ошибся ли я, изменив кому на точку? Есть ли лучший способ исправить это?