【发布时间】:2022-01-27 09:41:53
【问题描述】:
我是弹性搜索的新手,我正在使用 Elastic App Search。
所以我正在尝试通过 MongoDB Realm App 更新弹性应用搜索中的数据,该应用基本上提供了 CRUD 操作的触发器。
我可以添加文档或更新现有字段。
但问题是我无法向数组字段添加元素。我想从数组中添加或删除元素,经过一些研究我发现可以使用一些脚本来完成:
"script": {
"source": "ctx._source.fieldToUpdate.add(elementToAdd);",
"lang": "painless"
}
但它只是不工作。我正在使用 REST APIs 在弹性应用搜索中添加或更新数据。我正在使用弹性云托管服务。
更新 - 1
我在使用 ES App Search,创建引擎并将其命名为“articles”,当我尝试使用 kibana 运行查询时,我不得不使用一些奇怪的名称“.ent-search-engine-documents-article” . 所以我尝试在 Elastic Search REST API 中使用相同的名称
POST /.ent-search-engine-documents-article/_update/docid
它工作得非常好,但我想只使用 APP Search 的 REST API 来执行相同的工作。
【问题讨论】:
-
您对这个脚本有什么反应?
-
我已对问题添加了更新。此外,当我尝试使用 ES App Search 的 REST API 添加脚本时,它只是添加了一个名为“脚本”的字段,并将我们发送的脚本对象的值字符串化并将其用作它的值。我附上了更新文件的图像。 imgur.com/m7J1OWp
标签: elasticsearch elastic-appsearch