You cannot use a geoip filter, but you can do it. You will need an index template that maps a field as a geo_point. The default template does this for [geoip][location]. I guess you could reuse that, but I would recommend adding your own mapping.
Then use a translate filter. Get a list that maps a country to a latititude and longitude (e.g. here) and convert that into format (e.g. yml) that the translate filter can use. Note that once the mapping is in place, elasticsearch will have no problem parsing a string like "41.12,-71.34" and storing it in the geo_point field. You do not need to split that into two fields and convert them to floats.
Apache, Apache Lucene, Apache Hadoop, Hadoop, HDFS and the yellow elephant
logo are trademarks of the
Apache Software Foundation
in the United States and/or other countries.