我正在尝试通过 Sense 将一些 JSON 文件加载到我的本地 ES 实例,但我似乎无法弄清楚代码。我知道 ES 有 Bulk API 和 Index API,但我似乎无法将代码放在一起。如何使用 Sense 将 JSON 文件上传/索引到本地 ES 实例?谢谢!
问问题
520 次
1 回答
2
是的,ES 有一个批量 API 可以将 JSON 文件上传到 ES 集群。我不认为 API 以低级语言公开,因为在 Sense 的情况下它是浏览器中的 Javascript。高级客户端在 Java 或 C# 中可用,它们公开了对 ES 集群的更多控制。我认为 chrome 浏览器不支持执行此命令。
使用批量 API 将 JSON 文件上传到弹性。
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、索引类型、索引名称。
也可以参考我之前的回答
于 2016-08-01T10:18:56.590 回答