elasticsearch - 在聚合中添加脚本 - 弹性搜索
问题描述
我想为我在存储桶中获得的所有命中添加一个脚本。这是查询
{
"aggregations": {
"groupByChains": {
"terms": {
"field": "chain.id",
"size": 100,
"min_doc_count": 1,
"shard_min_doc_count": 0,
"show_term_doc_count_error": false,
"order": [
{
"_count": "desc"
},
{
"_key": "asc"
}
]
},
"aggregations": {
"topHits": {
"top_hits": {
"from": 0,
"size": 100,
"version": false,
"seq_no_primary_term": false,
"explain": false
}
}
}
}
} }
当我在桶内被击中时,我想添加一个带距离的字段,并且我有脚本。所以任何人都可以帮我确定在哪里添加脚本
解决方案
您可以在 top_hits 中添加脚本字段
例子
{
"aggs": {
"NAME": {
"terms": {
"field": "quantity",
"size": 10
},
"aggs": {
"NAME": {
"top_hits": {
"size": 10,
"_source": "*",
"script_fields": {
"distance": {
"script": "1 + 1"
}
}
}
}
}
}
}
}
推荐阅读
- java - 如何在 Kotlin 中编写 Dagger 组件?
- jquery - 当页面从服务器返回验证错误时,Jquery 事件侦听器从选择框更改解除绑定
- python - 网页抓取到 csv 文件只获取第一行
- c++ - 静态或动态链接到容器中运行的二进制文件的 C-Runtime (CRT)?
- c++ - 如何在编译时打印常量值?
- r - 无法将一些 unicode 字符写入文件
- java - adb devices => 没有权限(plugdev 组中的用户;您的 udev 规则错了吗?)
- android - Xamarin Android 动画更改位置
- java - 使用服务作为“工厂”返回不同的 Bean 实现
- jenkins - qTest | Jenkinsfile 流水线集成