• 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏吧

使用CTX查询Elasticsearch更新

elasticsearch 3次浏览

我想更新索引内的所有文档。我发现Update Query是我们应该使用的方法。但是,当我将ctx._now用作更新文档字段的值时,我遇到了问题,导致字段值为空。使用CTX查询Elasticsearch更新

这是样板:

timenow evidence

当我使用的随机数值,它是工作。假设我将timenow = 5。然后,所有文档字段timenow变为5.但是,使用此ctx方法不起作用。

我该怎么做?

其他信息

这是我的ES信息:

我使用ctx._now,因为它是在文件更新工作。下面是的情况下:

实施例:POST索引/类型/ 24/_Update

这里是由弹性文档:

除了_Source,以下变量可通过ctx映射获得:_index,_type,_id,_version,_routing和_now(当前时间戳)。

https://www.elastic.co/guide/en/elasticsearch/reference/current/docs-update.html

谢谢


===========解决方案如下:

_now只是更新API,即在打电话时,请在_update端点,不_update_by_query

使用这个代替:

{ 
    "script": { 
    "inline": "ctx._source.timenow = Instant.now().toEpochMilli()" 
    }, 
    "query": { 
    "match_all": {} 
    } 
} 

版权声明:本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系管理员进行删除。
喜欢 (0)