我希望使用 elasticsearch python 客户端(并且不使用subprocess
)复制以下命令:
curl -s -XPOST "localhost:9200/index_name/_bulk" --data-binary @file
我试图在没有任何运气的情况下使用批量助手:
es = Elasticsearch()
with open("file") as fp:
bulk(
client=es,
index="index_name",
actions=fp
)
这会导致type is missing
错误。
该文件在使用时处理得很好curl
,看起来有点像这样:
{"index":{"_type":"someType","_id":"123"}}
{"field1":"data","field2":"data",...}
{"index":{"_type":"someType","_id":"456"}}
{"field1":"data","field2":"data",...}
...
请注意,我宁愿不更改文件的内容,因为我有大约 21000 个具有相同格式的文件。