1

当我运行此脚本以将经度和纬度双倍连接到 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',
                    }
            }
    }
}

我会很感激任何帮助,谢谢!

4

1 回答 1

0

由于您正在从源中提取数据,因此您需要在 groovy 脚本中将字符串转换为双精度:

new Double(ctx._source['lon']);
于 2015-06-30T22:16:35.280 回答