【发布时间】:2017-07-26 04:55:51
【问题描述】:
我有一个 .json.gz 文件,我希望将其加载到弹性搜索中。
我的第一次尝试是使用 json 模块将 JSON 转换为字典列表。
import gzip
import json
from pprint import pprint
from elasticsearch import Elasticsearch
nodes_f = gzip.open("nodes.json.gz")
nodes = json.load(nodes_f)
字典示例:
pprint(nodes[0])
{u'index': 1,
u'point': [508163.122, 195316.627],
u'tax': u'fehwj39099'}
使用 Elasticsearch:
es = Elasticsearch()
data = es.bulk(index="index",body=nodes)
但是,这会返回:
elasticsearch.exceptions.RequestError: TransportError(400, u'illegal_argument_exception', u'Malformed action/metadata line [1], expected START_OBJECT or END_OBJECT but found [VALUE_STRING]')
除此之外,我希望能够为给定的point 查询找到tax,以防这会影响我应该如何使用elasticsearch 索引数据。
【问题讨论】:
标签: python json elasticsearch