**如果要基于SellerInfoES的嵌套要约价格数组(嵌套数组)对象,我正在尝试汇总和查找价格范围。内部字段是“
offerPrice”。我如何在Elasticsearch中的嵌套数组字段上编写聚合。我尝试了以下查询,但无法正常工作。收到此错误:解析失败[在[price_ranges]中找到了两个聚合类型定义:[嵌套]和[过滤器]]
对应:
{
"productsearch": {
"mappings": {
"product": {
"properties": {
"brand": {
"type": "string"
},
"categories": {
"type": "string"
},
"model": {
"type": "string"
},
"mrp": {
"type": "double"
},
"productName": {
"type": "string"
},
"rating": {
"type": "double"
},
"reviewCount": {
"type": "long"
},
"sellerInfoES": {
"type": "nested",
"properties": {
"addr": {
"type": "string"
},
"country": {
"type": "string"
},
"geoAddress": {
"type": "string"
},
"location": {
"type": "string"
},
"offerPrice": {
"type": "double"
},
"pinCode": {
"type": "string"
},
"sellerId": {
"type": "long"
},
"sellerLocation": {
"type": "geo_point"
},
"state": {
"type": "string"
}
}
},
"sku": {
"type": "long"
},
"subCategory": {
"type": "string"
}
}
}
}
}
}
查询:
{
"price_ranges": {
"nested": {
"path": "sellerInfoES"
},
"aggs": {
"range": {
"field": "offerPrice",
"ranges": [
{
"gte": 1000
},
{
"gte": 1000,
"lte": 10000
},
{
"gte": 10000,
"lte": 25000
},
{
"gte": 25000
}
]
}
}
}
}
您必须使用sub_aggregation
。range aggregation
在内部使用,nested aggregation
例如:
{
"aggs": {
"nested_sellerInfo": {
"nested": {
"path": "sellerInfoES"
},
"aggs": {
"offer_price_range": {
"range": {
"field": "sellerInfoES.offerPrice",
"ranges": [
{
"from": 1000
},
{
"from": 1000,
"to": 10000
},
{
"from": 10000,
"to": 25000
},
{
"from": 25000
}
]
}
}
}
}
}
}
希望这可以帮助!!
**我试图聚合和找到价格范围,如果在基础上的嵌套报价数组(嵌套数组)的sellerInfoES对象。内部字段是"offerPrice"。如何在Elasticsearch中的嵌套数组字段上编写聚合。我尝试了以下查询,但它不工作。获取此错误:解析失败[在[price_ranges]中找到两个聚合类型定义:[嵌套]和[过滤器]] 映射: 查询:
是否可以在elasticsearch中更改范围聚合结果的排序?我在elasticsearch中有一个键控范围查询,并希望根据键而不是doc_count进行排序。 我的文件是: 和聚合查询: 此查询的结果是: 我想根据关键字对结果进行排序,而不是根据范围值。根据elasticsearch文档,无法指定排序顺序,当指定排序顺序时,我得到以下异常: 你有什么办法吗?谢谢!
如何聚合一个值在嵌套在Elasticsearch嵌套位置?我对一个嵌套对象没有问题,但在嵌套对象内的嵌套我感到困惑... 样本数据: 欲望结果: 在索引映射中,我将cat_a和条目字段的类型设置为嵌套,当我从工具字段查询聚合时,在cat_a的根(级别1)中没有问题,并且可以工作,但是在聚合中在rx_a(这是在第2级)我不能检索结果,它或空或显示错误,因为我的错误查询。 查询级别1 agg: 如何处
我试图在c#中运行聚合查询(使用nest 5),但我不知道我得到了多少聚合作为输入以及聚合类型是什么。 例如,一个查询是:{"aggs":{"type_count":{"术语":{"field":"type"}}}} 其他查询将是:{“aggs”:{“type\u count”:{“terms”:{“field”:“type”}},“salary\u count”:{“field”:“salary
我试图构造一个ElasticSearch查询,但没有得到预期的结果。任何帮助都将不胜感激! 映射详细信息: null null 目前,每个嵌套的轮班文档都包含一个嵌套的calendarBlock文档,其中包含开始和结束日期时间字段,以及一个可以注册该轮班的最大志愿者人数字段。 查询 我试图构造的查询是经过筛选的查询。从Web上的窗体传入查询字符串。然后,我需要以编程方式将至少三个筛选器附加到这个查
问题内容: 我正在尝试过滤存储桶中的嵌套聚合。 对应: 索引数据: 我正在使用此查询和聚合定义 我从聚合结果中得到的是: 我在筛选存储桶列表时遇到了麻烦,因为它们只能提供所提供的事件ID,因此结果应类似于: 问题答案: 您快到了,只需要在聚合中添加过滤器即可,如下所示: 原因是您的查询将正确选择具有指定事件ID的嵌套事件的所有文档,但是,汇总将对所有选定文档中的所有嵌套事件进行处理。因此,您还需要