gpt4 book ai didi

elasticsearch - 带有脚本的 Elasticsearch 聚合提供了异常(exception)

转载 作者:行者123 更新时间:2023-12-03 00:20:48 25 4
gpt4 key购买 nike

查询失败[无法执行主查询]];嵌套:GroovyScriptExecutionException [ArrayIndexOutOfBoundsException [-1]];

我正在使用以下aggs查询

{
"aggs": {
"hscodes_eval": {
"terms": {
"field": "fscode"
},
"aggs": {
"top_6_fscodes": {
"terms": {
"field": "fscode",
"script": "doc[\"fscode\"].value[0..6]"
}
}
}
}
}
}

我想获取与字段fscode的前6个字符匹配的文档数。
但我超越了异常(exception)。请帮忙。

最佳答案

试试这个:

{
"aggs": {
"hscodes_eval": {
"terms": {
"field": "fscode"
},
"aggs": {
"top_6_fscodes": {
"terms": {
"script": "fieldValue=doc['fscode'].value;if(fieldValue.length()>=7) fieldValue[0..6] else ''"
}
}
}
}
}
}

但是我不会那样做,也就是说使用 script。脚本通常很慢,并且如果您有很多文档,则添加起来会很快。

对此并没有考虑太多,但是我的直觉告诉我,我将在索引时间时尝试 ,将初始fscode的前6个字符放入sub-field of fscode ,也许使用truncate filter。然后,在搜索时,我将不在terms上使用fscode聚合,而是在已定义的子字段上使用。

关于elasticsearch - 带有脚本的 Elasticsearch 聚合提供了异常(exception),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31179356/

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