如果这是一个基本问题我提前道歉,但这是我第一次涉足ES。如何定位Json文件并将其索引到ES中进行索引?
我已经查看了ES文档和类似我的问题,但到目前为止,所列出的方法都没有对我有用。
Import/Index a JSON file into Elasticsearch
is there any way to import a json file(contains 100 documents) in elasticsearch server.?
我正在使用Mac OS,并且我用_bulk我的Json文件的cURL命令是:
curl -XPOST 'localhost:9200/bank/account/_bulk?pretty' --data-binary "@accounts.json"
但是,会弹出此错误:
{
"error": {
"root_cause": [
{
"type": "parse_exception",
"reason": "Failed to derive xcontent"
}
],
"type": "parse_exception",
"reason": "Failed to derive xcontent"
},
"status": 400
}
答案 0 :(得分:1)
要使用批量api,文件中的所有json对象都应该有这样一行:
{ "index" : { "_index" : "test", "_type" : "type1", "_id" : "1" } }
指定索引和类型名称以及文档ID。
例如,包含以下内容的文件将使用index = test索引2个文档,使用不同的field1值键入= type1和id = 1和2:
{ "index" : { "_index" : "test", "_type" : "type1", "_id" : "1" } }
{ "field1" : "value1" }
{ "index" : { "_index" : "test", "_type" : "type1", "_id" : "2" } }
{ "field1" : "value3" }
然后你可以运行如下命令:
curl -s -XPOST 'localhost:9200/_bulk' --data-binary "@accounts.json"
答案 1 :(得分:1)
从 https://www.getpostman.com/docs/environments获取邮递员,使用.format()
命令为其提供文件位置。
答案 2 :(得分:0)
弄清楚我错了什么。不要在REST服务上这样做。从终端导入数据。