我有以下脚本用于将json文档插入弹性搜索数据库。
for file in /home/ec2-user/Workspace/met_parts/*
do curl -XPOST "http://localhost:9200/ABCD/met/" -d @$file
done
我有一个' n'我的met_parts
文件夹中的文件,每个文件包含JSON记录,如下所示。
{
"Application": "xxxxxxxx",
"FirstTime": 1425502958958,
"LastHost": "127.0.0.1",
"Transactions": "88654"
}
我的met_parts
文件夹每小时更新一次。所以我需要每小时运行一次上面的脚本。当我第二次curl -XPOST
时,我希望更新现有文档,而不是而不是要插入的新对象。我该如何实现这一目标?由于我使用XPOST
,document id
会自动生成弹性搜索。
答案 0 :(得分:2)
如果没有id
,您将无法更新文档。您应该使用id
创建文档,以便您知道稍后要更新的文档。您可以使用以下命令索引具有给定标识的文档。
POST <index name>/<type name>/<document id>
{
...
}
请注意,您还可以使用字符串作为文档ID。