仅更新弹性搜索中更改的字段

时间:2017-08-22 10:07:30

标签: elasticsearch elasticsearch-plugin

我们使用弹性搜索作为缓存存储数据 有一项工作每6小时更新一次弹性搜索,用新数据替换完整的弹性搜索 现在我们要实现的是,弹性搜索数据应该只更新更新的索引和新添加的索引不应该触及没有变化的索引。
用弹性搜索可以做到这一点吗?

请在这里帮忙。

1 个答案:

答案 0 :(得分:0)

通过将更新更改插入队列(可以是MySQL表或其他内容)来管理更新更改,您还必须管理文档的ID。

从队列中获取数据并使用具有upsert功能的弹性更新API。

POST /<indexName>/<type>/<documentID>/_update
{
  "doc" :
      {
         name: "Dennis",
         weight: "70"
      },
  "doc_as_upset" : true
}

如果文档不存在则更新文档或创建新文档(提醒MySQL中的REPLACE)。