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
}
}
}
我正在尝试实现一个系统,其中一个字段(比如计数)通过更新递增 +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
}
}
}