4

是否可以在弹性搜索中向现有文档添加更多字段?

例如,我索引了以下文档:

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

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

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

如何才能做到这一点?

4

2 回答 2

9

对于 Elastic Search 检查更新

更新 API 还支持传递部分文档(从 0.20 开始),该部分文档将被合并到现有文档中(简单递归合并、对象内部合并、替换核心“键/值”和数组)

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

于 2013-06-13T12:31:16.343 回答
3

这可以通过部分更新来完成(假设文档的 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"
        }
    }
于 2014-06-06T14:31:33.550 回答