Geopoint using Latitude and Longitude using Logstash

Hi,

I am trying to plot data on Tile Map using geo-point coordinates from ES. Logstash data will have Latitude and Longitude. I also followed http://david.pilato.fr/blog/2015/04/28/exploring-capitaine-train-dataset/ but still my map doesn't show any results. Below is my sample data, Logstash config and ES mapping files.

Versions:

Logstash 2.2
ES 2.2
Kibana 4.3

Sample Data:
Kadoma;-18.3300064;9.90994665;Zimbabwe
Chitungwiza;-18.0000007;1.10000321;Zimbabwe
Harare;-17.8177896;1.04470943;Zimbabwe
Bulawayo;-20.1699975;8.58000199;Zimbabwe

Logstash conf:
input {
file {
path => "/home/ubuntu/Logstash_input/country.csv"
type => "countryDB"
start_position => "beginning"
}
}

filter {

csv {
columns => [city,latitude,longitude,country]
separator => ";"
}

if [city] == "city" {
drop { }
} else {

  mutate {
      convert => { "longitude" => "float" }
      convert => { "latitude" => "float" }
  }

  mutate {
      rename => {
          "longitude" => "[location][lon]"
          "latitude" => "[location][lat]"
      }
  }

}
}

output {

    elasticsearch { hosts => ["localhost:9200"]
    index => "countrydb"

}
stdout { codec => rubydebug }
}

ES Mapping:

POST /countrydb
{
"settings" : {
"number_of_shards" : 1
},

        "properties" : {
         
      "location": {
      "type": "geo_point"
    }
  }
}

Kibana Discover showing Lat/Lon:

Tile Map showing no results:

Thanks,
Meenal

Resolved it myself. Very silly problem in ES mapping. I had missed the "type". Made changes as below and it is now visible on maps:

POST /countrydb
{

"settings" : {
    "number_of_shards" : 1
},
"mappings" : {
    "countryDB": {
        
        "properties" : {
         
	"location" : { "type": "geo_point"},
	"city":{"type":"string"},
	"country":{"type":"string"}
	}
    }
}

}

3 Likes

Error in elastic search -
No handler found for uri [/countrydb] and method [POST]