I am trying to implement a system where one of the fields, (say count) is to incremented +1 via updates but is supposed to be constrained to have a maximum value of let's say 100. I have tried googling and have found nothing. Do these kind of updates need to be done through a painless script perhaps which will check against the current value before updating count? Or is there a way elasticsearch can take a "max" constraint for this field?
Any answeres will be highly appreciated!
Thanks
In Elasticsearch you cannot define field size or Check constraint like SQL.
You need to handle this while indexing or updating
Update query
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
}
}
}