Elasticsearch无痛,如何判断一个字段的数据类型

All*_*ang 4 elasticsearch elasticsearch-painless

es5.5中,如何判断字段是否为数字?

if (is_numeric(ctx._source.some)) {
    ctx._source.some = ctx._source.some + 2
}
Run Code Online (Sandbox Code Playgroud)

Ole*_*hko 5

instanceof运算在这里可能会有所帮助

if (ctx._source.some instanceof byte ||
    ctx._source.some instanceof short ||
    ctx._source.some instanceof int ||
    ctx._source.some instanceof long ||
    ctx._source.some instanceof float ||
    ctx._source.some instanceof double)
{
    ctx._source.some = ctx._source.some + 2
}
Run Code Online (Sandbox Code Playgroud)