elasticsearch - ElasticSearch - 如何使用字段别名进行嵌套字段聚合?
问题描述
我正在尝试查询嵌套字段的内部命中的基数,但它不适用于字段别名(其中 resellers.price 是别名)。我正在使用弹性搜索示例来展示这一点
GET /products/_search
{
"aggs": {
"resellers": {
"nested": {
"path": "resellers"
},
"aggs": {
"unique_prices": {
"cardinality": { "field": "resellers.price" }
}
}
}
}
}
解决方案
添加带有索引数据、映射、搜索查询和搜索结果的工作示例
索引映射:
{
"mappings": {
"properties": {
"resellers": {
"type": "nested",
"properties": {
"cost": {
"type": "integer"
},
"price": {
"type": "alias",
"path": "resellers.cost"
}
}
}
}
}
}
指数数据:
{
"resellers": {
"cost": 200
}
}
{
"resellers": {
"cost": 100
}
}
{
"resellers": {
"cost": 200
}
}
搜索查询:
{
"size": 0,
"aggs": {
"resellers": {
"nested": {
"path": "resellers"
},
"aggs": {
"unique_prices": {
"cardinality": {
"field": "resellers.price"
}
}
}
}
}
}
搜索结果:
"aggregations": {
"resellers": {
"doc_count": 3,
"unique_prices": {
"value": 2
}
}
}
推荐阅读
- python - 删除括号并转换为负浮点数
- c# - 使用 .net core api 提供数据后看不到反应页面
- php - 如何在 if 和 else 语句中使用当前时间设置 php datetime
- html - 如何以角度停止输入类型=“文本”字段中的字符
- jquery - 在 Telerik MVC Extensions 中更新 jQuery 版本
- git - git 冲突可以像 svn 那样创建其他文件吗
- r - R:通过使用“grepl”从列表中匹配部分来过滤数据框
- r - n<-1:1000 的计算函数
- javascript - 如何在 Postman 中从 PDF 中获取文本
- angular - 在 javascript 中工作的函数,但是当以角度调用时,它会产生无限循环