elasticsearch 添加到现有索引中的地理点类型。如何定义此类型?
我是弹性搜索的新手,如果我从不同的来源向现有索引添加数据,我不知道如何定义地理点类型 如果我创建了一个新的索引,一切都会正常工作: 我的logstash geo.conf文件:elasticsearch 添加到现有索引中的地理点类型。如何定义此类型?,elasticsearch,logstash,logstash-configuration,geopoints,elasticsearch,Logstash,Logstash Configuration,Geopoints,我是弹性搜索的新手,如果我从不同的来源向现有索引添加数据,我不知道如何定义地理点类型 如果我创建了一个新的索引,一切都会正常工作: 我的logstash geo.conf文件: input { file { path => "/geoList.csv" sincedb_path => "/dev/null" start_position => "beginning" } } filter { csv {
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'
}
在现有索引中,我现在有两个字段:
location.lat number
location.lon number
但我需要一个字段来创建地图可视化:
location geo_point
我找不到这个领域。我认为问题在于我需要添加映射或模板,但我不知道如何从现有索引编辑现有映射一旦创建映射,就无法修改映射。您需要删除索引并使用正确的映射重新创建它。如何创建新映射?是否可能复制旧映射并仅添加地理点类型?模板是正确的,但在创建索引之前它必须存在。您还必须确保添加
document\u type=>“logs”
以确保使用模板。我应该在何处添加此document\u type=>“logs”?我删除了索引,用lat和lon plus模板添加了第一个数据,有一个geo_点,但在我再次添加旧的源数据后,geo_点字段消失,我再次得到两个字段location.lat number location.lon number