有 Elasticsearch 大佬吗,我想问问我的查询语句哪出错了。我用 script 把 ip 字段的值截取到第三位,然后我想聚合去重,结果就是聚合里的桶没有数据

2022-05-25 19:58:06 +08:00
 AmadeusZZZ

我的查询语句是这样的{ "size": 0, "script_fields": { "ip_field": { "script": { "lang": "painless", "source": "def ips = doc['SourceIp'].value;def last=ips.lastIndexOf('.');return ips.substring(0,last);" } } }, "aggs":{ "ip_c":{ "terms":{ "field":"ip_field" } } } } 结果就是 script_fields 里的语句生效了,下面的 aggs 没有生效

1201 次点击
所在节点    问与答
6 条回复
pubby
2022-05-25 20:49:42 +08:00
AmadeusZZZ
2022-05-25 21:14:31 +08:00
@pubby 我就是看了官方的文档,我这查询也没写错啊,但就是聚合没数据
slzcz
2022-05-26 00:17:39 +08:00
这样?
slzcz
2022-05-26 00:17:54 +08:00
@slzcz {
"size": 0,
"aggs": {
"ip_c": {
"terms": {
"script": "def ips = doc['SourceIp'].value;def last=ips.lastIndexOf('.');return ips.substring(0,last);"
}
}
}
}
AmadeusZZZ
2022-05-26 22:23:51 +08:00
@slzcz 不行,会报错 runtime error 也不知道咋回事,感觉是 lastIndexOf 还有 substring 运行不了
slzcz
2022-05-26 23:28:56 +08:00
@AmadeusZZZ 报 runtime error root_cause 不是有报错的信息麽?

我本地模拟了一下,不知道是不是需要这样的效果,我的版本是 7.10.2

[![XZ6HgI.png]( https://s1.ax1x.com/2022/05/26/XZ6HgI.png)]( https://imgtu.com/i/XZ6HgI)

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/855288

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX