【问题标题】:Where to specify the file path while running elasticsearch Bulk API运行 elasticsearch Bulk API 时在哪里指定文件路径
【发布时间】:2017-03-17 22:01:40
【问题描述】:

我是 elasticsearch 的新手,从 chrome:extension- Postman 运行 elasticsearch。 我想使用 Bulk API 从 JSON 中输入批量数据。 我已经看到了命令:

curl -s -XPOST 'http://jfblouvmlxecs01:9200/_bulk' --data-binary @bulk.json 

在使用 Postman 时,我不知道将文件 @bulk.json 存储在哪里, 目前我已将其存储在C:\elasticsearch-1.5.2\bin\bulk.JSON

我使用的命令是http://localhost:9200/_bulk --data-binary @bulk.JSON 这会引发以下错误:

"error": "InvalidIndexNameException[[_bulk --data-binary @bulk.JSON] 无效索引名称 [_bulk --data-binary @bulk.JSON],不得包含以下字符 [\, /, * , ?, \", , |, , ,]]", “状态”:400 }

有人可以建议存储 JSON 文件的位置吗? 或者我在这里做错了什么。

【问题讨论】:

  • 您看到的内容适用于curl 命令。在 Postman 中,它的工作方式不同,只需将 bulk.json 文件的内容放在正文中即可。看到这个答案应该会有所帮助:stackoverflow.com/questions/22996337/…
  • 另请参阅此链接,该链接准确显示了如何从邮递员处调用_bulkred-badger.com/blog/2013/11/08/…
  • 谢谢瓦尔。你的回答对我很有帮助!我的 JSON 文件很大,因此将其粘贴到 Postman 正文中会产生一些问题,并且 Postman 最终会崩溃。我想唯一的办法就是拆分 JSON 文件并粘贴它。再次感谢!
  • 如果您的文件太大,为什么不采用curl 方式?
  • 我以前从未使用过curl。现在才开始尝试。

标签: json elasticsearch postman


【解决方案1】:

您可以将文件存储在任何地方,然后像这样传递路径:

curl -s -XPOST 'http://jfblouvmlxecs01:9200/_bulk' --data-binary @"/blah/blah/bulk.json"

如果你想和邮递员一起做,有一个答案here that explains how

但如果你想用它来处理大数据,我不建议使用 postman 或 sense。直接使用curl或者logstash

另请参阅:https://github.com/taskrabbit/elasticsearch-dump

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-03-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-11-07
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多