Elasticsearch:将双打转换为 geo_point。无效的 geohash 字符错误
Elasticsearch: casting doubles to geo_point. Error with invalid geohash character
当我 运行 这个用于将经度和纬度加倍连接成 geo_point 的脚本时出现错误。
ElasticsearchIllegalArgumentException[the character \'.\' is not a valid geohash character]
这是我的参考脚本:
mappings: {
'index': {
'transform': {
'lang': 'groovy',
'script': "ctx._source['coords'] = [ctx._source['lon'],ctx._source['lat']]"
}
'properties': {
'lon': {
'type': 'double',
},
'lat': {
'type': 'string',
},
'coords': {
'type': 'geo_point',
}
}
}
}
非常感谢任何帮助,谢谢!
由于您是从源中提取数据,因此需要在 groovy 脚本中将字符串转换为双精度值:
new Double(ctx._source['lon']);
当我 运行 这个用于将经度和纬度加倍连接成 geo_point 的脚本时出现错误。
ElasticsearchIllegalArgumentException[the character \'.\' is not a valid geohash character]
这是我的参考脚本:
mappings: {
'index': {
'transform': {
'lang': 'groovy',
'script': "ctx._source['coords'] = [ctx._source['lon'],ctx._source['lat']]"
}
'properties': {
'lon': {
'type': 'double',
},
'lat': {
'type': 'string',
},
'coords': {
'type': 'geo_point',
}
}
}
}
非常感谢任何帮助,谢谢!
由于您是从源中提取数据,因此需要在 groovy 脚本中将字符串转换为双精度值:
new Double(ctx._source['lon']);