更新 elasticache 记录而不完全替换它

Posted

技术标签:

【中文标题】更新 elasticache 记录而不完全替换它【英文标题】:update elasticcache record without totally replacing it 【发布时间】:2017-07-06 08:29:36 【问题描述】:

我正在使用它向 elasticcache 索引添加一堆记录:

  def self.index_trends(trend_hashes)
    formatted_trends = trend_hashes.map do |trend_hash|
      
        index: 
          _index: 'trends',
          _type: 'trend',
          _id: trend_hash["id"],
          data: trend_hash
        
      
    end
    elasticsearch.bulk(
      body: formatted_trends
    )
  end

现在我需要更新一条记录(给定它的 id)。我只想向data 哈希添加一个键值,而不是替换整个状态。如何使用elasticsearch-ruby 做到这一点?

【问题讨论】:

【参考方案1】:

我不知道如何用 ruby​​ 做到这一点,但在 ES 中有update API。

看起来像这样

POST test/type1/1/_update

    "script" : "ctx._source.new_field = \"value_of_new_field\""

From example 与 ruby​​ 应该是

 client.update index: 'myindex', type: 'mytype', id: '1',
     body:  script: 'ctx._source.tags += tag', params:  tag: 'x'  

【讨论】:

谢谢你会试一试

以上是关于更新 elasticache 记录而不完全替换它的主要内容,如果未能解决你的问题,请参考以下文章

如何在 React Router v5 中更新 URL 并替换历史状态而不重新渲染整个应用程序?

如何让多个用户同时更新我的​​一条 CloudKit 记录而不重叠?

从 MySQL 中的两个视图中选择而不留下记录

当在 asp.net 中插入更新的记录而不刷新页面时,如何自动更新 Gridview?

如何从本地机器上运行的 Django App 连接到 ElastiCache 实例 (Redis)

离子v3在应用程序中进行制造和更新,以更新它在数据库中而不是在应用程序中正在更新的数据