【问题标题】:Elasticsearch - Sense - Indexing JSON files?Elasticsearch - Sense - 索引 JSON 文件?
【发布时间】:2016-08-08 03:55:54
【问题描述】:
我正在尝试通过 Sense 将一些 JSON 文件加载到我的本地 ES 实例,但我似乎无法弄清楚代码。我知道 ES 有 Bulk API 和 Index API,但我似乎无法将代码放在一起。如何使用 Sense 将 JSON 文件上传/索引到我的本地 ES 实例?谢谢!
【问题讨论】:
标签:
json
elasticsearch
kibana
sense
【解决方案1】:
是的,ES 有一个批量 API 可以将 JSON 文件上传到 ES 集群。我不认为 API 以低级语言公开,因为在 Sense 的情况下它是浏览器中的 Javascript。高级客户端在 Java 或 C# 中可用,它们公开了对 ES 集群的更多控制。我不认为 chrome 浏览器会支持执行这个命令。
使用批量 API 将 JSON 文件上传到 Elastic。
1) 此命令从 JSON 文件上传 JSON 文档。
curl -s -XPOST localhost:9200/_bulk --data-binary @path_to_file;
2)JSON文件格式如下:
{ "index" : { "_index" : "test", "_type" : "type1", "_id" : "1" } }
{ "field1" : "value1" }
{ "index" : { "_index" : "test", "_type" : "type1", "_id" : "1" } }
{ "field1" : "value3" }
{ "index" : { "_index" : "test", "_type" : "type1", "_id" : "1" } }
{ "doc" : {"field2" : "value2"} }
其中 JSON 对象 doc 表示每个 JSON 对象数据,对应的索引 JSON 对象表示该特定 JSON 文档的元数据,例如文档 ID、输入索引、索引名称。
link to bulk upload
也可以参考我之前的answer