我正在尝试使用 Elasticsearch-dsl-py 从具有许多字段的 jsonl 文件中索引一些数据。忽略不太通用的部分,代码如下所示:
es = Elasticsearch()
for id,line in enumerate(open(jsonlfile)):
jline = json.loads(line)
children = jline.pop('allChildrenOfTypeX')
res = es.index(index="mydocs", doc_type='fatherdoc', id=id, body=jline)
for ch in children:
res = es.index(index="mydocs", doc_type='childx', parent=id, body=ch)
试图运行它以错误结束:
RequestError: TransportError(400, u'illegal_argument_exception', u"Can't specify parent if no parent field has been configured")
我想我需要提前告诉 es 有父母。但是,我不想要的是映射两者的所有字段只是为了做到这一点。
非常欢迎任何帮助!