gpt4 book ai didi

scripting - Elasticsearch 脚本中的类型转换

转载 作者:行者123 更新时间:2023-11-29 02:50:07 26 4
gpt4 key购买 nike

我想使用脚本来执行以下操作:

{
"query": {
"match_all": {}
},
"facets": {
"user_facet": {
"terms": {
"field": "user_id",
"script": "term + \"_\" + _source.code"
}
}
}
}

这类似于这个问题中给出的答案: elastic search double facet

我唯一的问题是我的 user_id 和代码字段是长类型,而不是字符串。有没有办法让它们成为字符串,以便它们可以与脚本结合?

我得到的特定错误是:

nested: ClassCastException[java.lang.String cannot be cast to java.lang.Number];

最佳答案

这听起来可能很荒谬,但我遇到了同样的问题,我解决它的方法(对于非常相似的问题)是删除“字段”规范,使其看起来像这样:

{
"query": {
"match_all": {}
},
"facets": {
"user_facet": {
"terms": {
"script": "term + \"_\" + _source.code"
}
}
}
}

我认为它试图将“脚本”执行的输出转换回字段的类型,从而导致类转换异常。

关于scripting - Elasticsearch 脚本中的类型转换,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17331544/

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