我正在尝试通过Sense将一些JSON文件加载到我的本地ES实例,但我似乎无法想出代码。我知道ES有批量API和索引API,但我似乎无法将代码整合在一起。如何使用Sense将JSON文件上传/索引到本地ES实例?谢谢!
答案 0 :(得分: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 doc(如文档ID)的元数据,请键入索引,索引名称。
您也可以参考我以前的answer