Geo_point类型已添加到现有索引中。如何定义这种类型?

时间:2017-02-15 15:11:57

标签: elasticsearch logstash logstash-configuration geopoints

我是弹性搜索的新手,如果我将数据添加到来自不同来源的现有索引,我不确定如何定义geo_point类型。

如果我创建一个新索引,一切正常:

我的logstash geo.conf文件:

input {
    file {
        path => "/geoList.csv"
        sincedb_path => "/dev/null"
        start_position => "beginning"
    }
}
filter {
    csv {
        separator => ";"
        columns => [ "Country","LATITUDE","LONGITUDE"]
    }
        mutate {
                convert => { "LATITUDE" => "float" }
                convert => { "LONGITUDE" => "float" }
   }
        mutate {
               rename => {
               "LONGITUDE" => "[location][lon]"
               "LATITUDE" => "[location][lat]"
  }    
}
}
output {
    stdout {
        codec => rubydebug
    }
    elasticsearch {
    index => 'geomap'
    }
}
之后我为我的新索引创建了一个模板

PUT _template/geo_template
{
   "template": "geomap",
   "mappings": {
       "logs" : {
           "properties" : {
               "location" :  {
                   "type" : "geo_point"
               }
           }
       }
   }
}

我可以创建一张地图,我有

location    geo_point

但是如果我尝试使用geo.conf添加到我现有的索引

    elasticsearch {
    index => 'existingindex'
    }

在现有索引中,我现在有2个字段:

location.lat    number  
location.lon    number  

但我需要一个字段来创建地图可视化:

location    geo_point   

我无法得到这个领域。我认为问题是我需要添加地图或模板,但我不知道如何从现有索引中编辑现有的

0 个答案:

没有答案