如何从logstash向elasticsearch添加geo_point类型数据?

时间:2015-06-16 07:32:41

标签: elasticsearch filter logstash kibana geo

我想在我的程序中添加一些自定义地理搜索功能(不是geoip,将ip地址转换为坐标)。如何将自定义lat和lng数据过滤为elasticsearch geo_type格式数据,以便我可以在kibana tile map中进行可视化?

1 个答案:

答案 0 :(得分:2)

所以你可能已经发现,有一个(有点笨重)的解决方案。 基本上你需要设置geo_point字段的映射才能以这种方式记录数据(我也直接使用ES python模块而不是通过logstash进行日志记录..只是为了确定)。

那么如何设置正确的映射?

  1. 确保使用一个全新的elasticsearch实例(或者至少说明你将使用的索引和类型的映射尚未设置)

  2. 从感觉运行(或使用适当的curl命令)

  3. PUT <index_name> { "mappings": { "<type_name>": { "properties": { "timestamp": { "type": "date" }, "message": { "type": "string" }, "location": { "type": "geo_point" } <etc.> } } } }

    现在你是黄金,只要确保你的geo_points采用ES格式

    的格式

    更多关于在此处映射geo_points:

    ElasticSearch how to setup geo_point

    在这里:

    https://discuss.elastic.co/t/geo-point-logging-from-python-to-elasticsearch/37336