在elasticsearch中更新现有文档

时间:2013-06-13 10:25:48

标签: lucene elasticsearch

是否可以在elasticsearch中为现有文档添加更多字段?

我索引了以下文件:

{
    "user":"xyz",
    "message":"for increase in fields"
}

现在我想再添加一个字段,即日期:

{
    "user":"xyz",
    "message":"for increase in fields",
    "date":"2013-06-12"
}

如何做到这一点?

2 个答案:

答案 0 :(得分:9)

对于弹性搜索检查update

  

更新API还支持传递部分文档(自0.20起),   它将合并到现有文档中(简单递归   合并,内部合并对象,替换核心“键/值”和   阵列)

Solr 4.0还支持部分更新。检查Link

答案 1 :(得分:3)

这可以使用partial update来完成(假设文档的ID为1):

curl -XPOST 'http://localhost:9200/myindex/mytype/1/_update' -d '
{
    "doc" : {
    "date":"2013-06-12"
    }
}'

然后查询文档:

curl -XGET 'http://localhost:9200/myindex/mytype/_search?q=user:xyz'

您应该看到类似的内容:

"_id":"1",
"_source:
    {
        {
            "user":"xyz",
            "message":"for increase in fields",
            "date":"2013-06-12"
        }
    }