Ruby 带有自定义地质点的Logstash过滤器
我正在尝试以下方法: 我有一个自定义的Logstash过滤器,在这个过滤器中我有纬度和经度值。现在,我想创建一个新的field Serv_位置,该位置使用lat和lon值,这样我就可以使用kibana中的这些地质点创建世界地图。我的问题是,当我创建新字段时,它将其解释为logstash中的数字/数字字段,而不是因此需要的地质点字段 当前,我的代码如下所示,用于添加字段:Ruby 带有自定义地质点的Logstash过滤器,ruby,
elasticsearch,geolocation,logstash,Ruby,
elasticsearch,Geolocation,Logstash,我正在尝试以下方法: 我有一个自定义的Logstash过滤器,在这个过滤器中我有纬度和经度值。现在,我想创建一个新的field Serv_位置,该位置使用lat和lon值,这样我就可以使用kibana中的这些地质点创建世界地图。我的问题是,当我创建新字段时,它将其解释为logstash中的数字/数字字段,而不是因此需要的地质点字段 当前,我的代码如下所示,用于添加字段: event['serv_location'] = [geo_lat.to_f, geo_lng.to_f] 创建地质点场还
event['serv_location'] = [geo_lat.to_f, geo_lng.to_f]
创建地质点场还需要做什么
编辑:
以下是我所做的映射:
curl -XPUT 'http://localhost:5601/logstash-2015.04.16/_mapping/location' -d '
{
"map_location" :
{
"properties" : {
"location" : {"type" : "geo_point", "store" : true }
}
}
}
谢谢。请为此字段编写自定义映射,并定义类型:geo_point。希望这能解决您的问题您有自定义映射吗?如果是,您的新服务位置字段的映射是什么样子的?我更新了我的帖子,请参见上文是的,您只需要将您的字段重命名为服务位置而不是位置,并将URL重命名为/\u mapping/map\u location。请重试。确定当我尝试执行此操作时,会出现以下错误:{error:RemoteTransportException[[server][inet[/]][index:admin/mapping/put]];nested:indexmissingeException[[logstash-2015.04.16]missing];status:404}这意味着您没有任何名为logstash-2015.04.16的索引,您应该使用现有的索引,还有一件事:映射已成功创建,但现在存在映射冲突,它没有在位置旁边显示世界地图符号,而是一个感叹号!