[英]Elasticsearch Bulk JSON Data
这个问题来自这个SO线程 。
正如@Val建议的那样,我似乎有一个相似但不相同的查询,最好有一个单独的问题让其他人受益。
因此,与上述类似,我需要在索引中插入大量数据(我的初始测试大约是10 000个文档,但这仅适用于POC,还有更多)。 我想插入的数据是在.json文档中,看起来像这样(片段):
[ { "fileName": "filename", "data":"massive string text data here" },
{ "fileName": "filename2", "data":"massive string text data here" } ]
根据我自己的承认,我是ElasticSearch的新手,但是,通过阅读文档,我的假设是我可以获取.json文件并从其中的数据创建索引。 我现在知道,似乎json中的每个项目都需要有一个“标题”,如:
{"index":{}}
{ "fileName": "filename", "data":"massive string text data here" }
这意味着,这不是实际的json格式(如此),而是操纵字符串。
我想知道是否有一种方法可以按原样import
我的json数据(以json格式),而不必先手动操作文本(因为我的测试数据有10 000个条目,我相信你能明白为什么我我不喜欢手动这样做。
任何建议或建议的自动化工具来帮助解决这个问题
PS - 我正在使用Windows安装程序和Postman进行通话。
您可以使用像这样的shell命令轻松转换文件。 如果您的文件名为input.json
,则可以执行以下操作:
jq -c -r ".[]" input.json | while read line; do echo '{"index":{}}'; echo $line; done > bulk.json
在此之后,您将拥有一个名为bulk.json
的文件,该文件已正确格式化以发送到批量端点。
然后,您可以像这样调用批量端点:
curl -XPOST localhost:9200/your_index/your_type/_bulk -H "Content-Type: application/x-ndjson" --data-binary @bulk.json
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.