更新弹性搜索文档中的特定字段

时间:2017-07-06 11:54:44

标签: elasticsearch

我正在尝试更新elasticsearch中的文档,但是文档会被删除

POST /index/type/id/
{
   "id":1
   "field:"modified"
}

更新文档中特定字段的方法是什么?文档包含一个用于编制索引的id字段。

2 个答案:

答案 0 :(得分:3)

我建议您阅读有关partial updates的弹性搜索文档。

  

更新请求的最简单形式接受部分文档作为doc参数,该参数仅与现有文档合并。

     

将对象合并在一起,覆盖现有标量字段,并添加新字段。

在您的情况下,我会使用以下方法:

POST /index/type/id/_update
{
    "doc": {
        "id": 1
        "field: "modified"
    }
}

但请记住,这只会修改文档内部的id字段,文档_id不会被修改。如果要修改文档_id,则必须删除当前文档并创建一个具有所需ID的新文档。

答案 1 :(得分:0)

做一件事。 使用以下命令以文件格式导出弹性搜索。

sudo npm install elasticsearch-tools -g



es-export-bulk --url http://localhost:9200 --file ~/Desktop/filename.json --index elastic_collection_name 

然后打开该文件并更新您想要的所有数据。 然后使用以下命令导入它。

es-import-bulk --url http://localhost:9200 --file ~/Desktop/filename.json

试试吧。