Elasticsearch 对整数字段的最大约束?

Elasticsearch max constraint on integer field?

我正在尝试实现一个系统,其中一个字段(比如计数)通过更新递增 +1,但应该被限制为最大值,比如说 100。我已经尝试使用谷歌搜索和一无所获。这些类型的更新是否需要通过一个无痛脚本来完成,也许它会在更新计数之前检查当前值?或者有没有办法让 elasticsearch 可以对这个字段进行 "max" 约束?

任何答复将不胜感激!

谢谢

在 Elasticsearch 中,您不能像 SQL 那样定义字段大小或检查约束。

您需要在索引或更新时处理此问题

更新查询

POST <indexname>/_update_by_query
{
  "script": {
    "source": "if(ctx._source.count==100) return; else  ctx._source.count++",
    "lang": "painless"
  },
  "query": {  --> to filter docs
    "term": {
      "id": 2
    }
  }
}