gpt4 book ai didi

elasticsearch - 无痛(Elasticsearch)将任何类型的值转换为整数

转载 作者:行者123 更新时间:2023-12-02 22:13:51 25 4
gpt4 key购买 nike

我正在将 Elasticsearch 脚本从 Groovy 转换为 Painless。
该脚本接受一个参数,该参数可以是整数或可转换为整数的字符串(即可以是 123 "123" )。

在 Groovy 中,做 my_val.toLong() 两者都转换得很好,但该方法在 Painless 中不可用。

是否有任何替代语法可以在 Painless 中做同样的事情?

我尝试使用 进行显式转换(长)my_var ,但我得到 java.lang.String 不能转换为 java.lang.Number

简而言之,我想在 Painless 中执行以下操作并获得 其结果:

GET _search
{
"script_fields": {
"test": {
"script": {
"lang": "groovy",
"params": {
"my_val1": "123",
"my_val2": 123
},
"source": """
my_val1.toLong() == my_val2.toLong()
"""
}
}
}
}

最佳答案

由于我可以看到这个问题仍然引起了一些兴趣,因此最终我能找到的最佳方法是:

Long.parseLong(params.my_val1.toString()) == Long.parseLong(params.my_val2.toString())

关于elasticsearch - 无痛(Elasticsearch)将任何类型的值转换为整数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49757152/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com