我目前正在使用 Elastic search 5.2 并尝试 使用以下 rest api执行upsert操作:
http://ip:9200/indexname/typename/id/_update
json有效负载:
{ "script" : { "inline": "ctx._source.size +=params.size", "lang": "painless", "params" :{ "size" : 14889114000 } }, "upsert" : { "size" : 1488911400 }
}
这个 api 做了以下事情:
1.) 如果在弹性搜索中找不到索引,则使用 upsert 字段内提供的 json 创建索引。
2.) 如果索引存在,那么它通过运行文档中提供的无痛脚本来执行部分更新。
问题:
我已经为计数器创建了弹性搜索索引映射。
此更新工作正常,直到计数器值在整数范围内。(即)2,147,483,647
超出此值,它会溢出并变为负值,以防预期值为正长值(因为相应的索引映射很长)。有没有办法在使用无痛脚本时解决这个 int 溢出问题?