我是ElasticSearch的新手,我需要知道是否可以为我的输入分配一个自定义ID。我使用的是LinkSO数据集。JSON文件应该如下所示:
{"index": {"_id": "11"}}
{"title": "title1", "body": "body1", "answer": "answer1"}
{"index": {"_id": "22"}}
{"title": "title2", "body": "body2", "answer": "answer2"}
我的PUT命令是
PUT /test
{
"settings": {
"analysis": {
"analyzer": {
"my_analyzer": {
"tokenizer": "whitespace",
"filter": [
"lowercase",
"porter_stem"
]
}
}
}
},
"mappings": {
"properties": {
"title": {
"type": "text",
"analyzer": "my_analyzer",
"similarity": "BM25"
},
"body": {
"type": "text",
"analyzer": "my_analyzer",
"similarity": "BM25"
},
"answer": {
"type": "text",
"analyzer": "my_analyzer",
"similarity": "BM25"
}
}
}
}
我在cmd上使用此命令
curl -s -H "Content-Type: application/json" -XPOST localhost:9200/test/_doc/_bulk --data-binary "@test.json"
当只插入一个json数据如
{"title": "title1", "body": "body1", "answer": "answer1"}
它工作得很好。数据被插入,我得到输出。但每当我试图添加2个数据,如
{"title": "title1", "body": "body1", "answer": "answer1"}
{"title": "title2", "body": "body2", "answer": "answer2"}
json文件显示文件结尾预期错误。当我在json文件上使用add index时也会发生同样的情况。
有人能指导我如何使用它吗?我如何添加“_id”,因为ElasticSearch将自己的id指定为_bulk
1条答案
按热度按时间i7uaboj41#
在您的文件中,您需要有如下数据。要设置id,您需要这一行,{“index”:{"_id”:“11”}}。另一个要点是在文件末尾添加换行符。