如何将元素插入弹性搜索中的列表中



说我有以下存储的文档。

document 1
    {
        id : '1',
        title : "This is a test document1",
        list : ["value1" , "value2"],
        ...
    }
document 2
    {
        id : '2',
        title : "This is a test document2",
        valueList : ["value1" , "value2"],
        ...
        }

我需要在文档中使用Bulk API的文档ID列表添加更多元素。结果看起来应该像

document 1
    {
        id : '1',
        title : "This is a test document1",
        list : ["value1" , "value2", "value3"],
        ...
    }
document 2
    {
        id : '2',
        title : "This is a test document2",
        valueList : ["value1" , "value2" , "value3"],
        ...
        }

我该怎么做才能实现这一目标?我尝试使用脚本,但仅更新一个文档。

对不起,我真的是弹性搜索的新手。在这个问题上,我什至可以很愚蠢。请原谅,让我明确这个问题。

请参阅更新文档。它应该很简单。您需要使用_update并为您提供一个想法,即使文档几乎是完美的,也可能看起来像:

POST /your_index/your_type/document1/_update
{
    id : '1',
    title : "This is a test document1",
    list : ["value1" , "value2", "value3"]
 }

这将更新document1

如果进行批量更新,则应阅读批处理处理并查看批量API。

来自文档:

POST /your_index/your_type/_bulk
{ "update" : {"_id" : "document1", "_type" : "your_type", "_index" : "your_index"}}
{ "doc" : {"myfield" : "newvalue"} }
{ "update" : {"_id" : "document2", "_type" : "your_type", "_index" : "your_index"}}
{ "doc" : {"myfield" : "newvalue"} }

请注意,您可以将_update用于部分更新。

最简单的更新请求的形式接受部分文档作为 DOC参数,该参数刚刚与现有文档合并。 对象合并在一起,现有的标量字段被覆盖, 添加了新字段。

相关内容

  • 没有找到相关文章

最新更新