1

我正在尝试通过 Sense 将一些 JSON 文件加载到我的本地 ES 实例,但我似乎无法弄清楚代码。我知道 ES 有 Bulk API 和 Index API,但我似乎无法将代码放在一起。如何使用 Sense 将 JSON 文件上传/索引到本地 ES 实例?谢谢!

4

1 回答 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 回答