问题描述
大家好!
我正在尝试使用相应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 (将#修改为@)