elasticSearch批量的geo_point类型

问题描述

大家好!

我正在尝试使用相应python库中的bulk方法将geo_point数据放入elasticSearch中。 因此,我定义并成功上传了下一个映射方案(我检查了Kibana UI中的方案是否设置正确):

 {'mappings': {
            'properties': {
                           'location': {'type': 'geo_point'}
                           }
        }
 }

然后,我尝试将数据放入下一个代码中(我阅读了ES手册,并在https://www.elastic.co/guide/en/elasticsearch/reference/current/geo-point.html处阅读了示例):

from elasticsearch import Elasticsearch
data = [{"index": {"_index": "geo_index","_type": "geo_type"}},{"location": (41.12,-71.34)}]

elasetic_search_instance = Elasticsearch(....)
elasetic_search_instance.bulk(data)

但是在这里我面临下一个错误: '错误':{'类型':'illegal_argument_exception','原因':'映射器[位置]不能从类型[geo_point]更改为[float]'}

我也尝试将geo_point设置为"location":{"lat": 41.12,"lon": -71.34 }或字符串"location":"41.12,-71.34",但收到一个错误,指出输入数据不正确(相应地,“ none”和“ string”类型而不是“ to [float]”) ”)。

我看到输入数据格式有误,但无法理解如何正确执行。 请告知我如何重新格式化输入数据格式。

提前谢谢!

P.S>对于所有其他数据类型,此上传脚本运行正常

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)