es评分优化

回复

liuchao 发起了问题 • 1 人关注 • 0 个回复 • 11 次浏览 • 1 小时前 • 来自相关话题

Elasticsearch:运用search_after来进行深度分页

回复

liuxg 发起了问题 • 1 人关注 • 0 个回复 • 15 次浏览 • 2 小时前 • 来自相关话题

查询时不小心将mapping中的属性添加了,请问大神们有啥能删除吗

liuxg 回复了问题 • 2 人关注 • 1 个回复 • 19 次浏览 • 2 小时前 • 来自相关话题

多个ip范围 查询时,只显示最后一个符合ip的数据

回复

youshangkuaile 发起了问题 • 1 人关注 • 0 个回复 • 16 次浏览 • 3 小时前 • 来自相关话题

Elasticsearch5.5.3快照备份仓库比实际的es数据大

回复

xuan2010feng 发起了问题 • 1 人关注 • 0 个回复 • 20 次浏览 • 4 小时前 • 来自相关话题

elasticsearch怎么把两个字段放在一个桶里聚合去重?太难了...

dadaball 回复了问题 • 2 人关注 • 1 个回复 • 42 次浏览 • 6 小时前 • 来自相关话题

Elasticsearch:运用scroll接口对大量数据实现更好的分页

回复

liuxg 发起了问题 • 1 人关注 • 0 个回复 • 34 次浏览 • 7 小时前 • 来自相关话题

tribe node加入集群后kibana查询一直超时

回复

Todd 发起了问题 • 1 人关注 • 0 个回复 • 31 次浏览 • 7 小时前 • 来自相关话题

es聚合date_histogram 嵌套date_range 查询每日支付数据七天之内注册用户的数据

回复

JustRun 回复了问题 • 1 人关注 • 1 个回复 • 27 次浏览 • 7 小时前 • 来自相关话题

ES6.2.4新建索引时报错:"mapping type name [_doc] can't start with '_'"

liuxg 回复了问题 • 2 人关注 • 1 个回复 • 47 次浏览 • 7 小时前 • 来自相关话题

在使用es时,TransportClient不能使用builder()了,如下,请问最新的写法是什么(我用的es6.5.4)?

回复

LovelyTZ 发起了问题 • 1 人关注 • 0 个回复 • 21 次浏览 • 9 小时前 • 来自相关话题

如何平滑升级 ELK6.3.2升级到elastic stack 最新版本

zqc0512 回复了问题 • 3 人关注 • 2 个回复 • 40 次浏览 • 8 小时前 • 来自相关话题

es 查询告警

xg 回复了问题 • 2 人关注 • 3 个回复 • 68 次浏览 • 7 小时前 • 来自相关话题

es如何查询月日,例如我只想查8-5到9-15的信息,不需要年份,但是搜索的时候结果要带上

God_lockin 回复了问题 • 3 人关注 • 2 个回复 • 68 次浏览 • 14 小时前 • 来自相关话题

关于sum bucket 与Filter Aggregation 结合的写法分享

cq1988114 发表了文章 • 0 个评论 • 40 次浏览 • 1 天前 • 来自相关话题

我们可以用ES的桶来实现这样的需求,找出汽车厂商每个颜色的车辆数量
当如果需求是,找出汽车厂商里的车一共有多少种颜色呢?
 我们可以使用sum bucket ,默认情况下,可以参考官方文档
https://www.elastic.co/guide/e ... ml%23
 
但如果我们想找到售价大于100W的车,有多少种颜色呢?
这就需要Filter Aggregation   和 上文的sum bucket结合
 
这里有个需要注意的地方,sum_bucket的位置不要跟 Filter Aggregation 同级,而是应该在其下一级:
    "query": {
"query": {
"bool": {
"filter": {
"bool": {
"must": [
{
"term": {
"delflag": 0
}
},
{
"term": {
"is_child": 1
}
}
],
"must_not":
}
}
}
},
"aggs": {
"valid_sales_people": {
"filter": {
"bool": {
"must_not": {
"terms": {
"status": [
0,
1,
7
]
}
}
}
},
"aggs": {
"render_people": {
"terms": {
"field": "uid",
"size": 2147483647
},
"aggs": {
"unique_people": {
"cardinality": {
"field": "uid"
}
}
}
},
"member_count": {
"sum_bucket": {
"buckets_path": "render_people>unique_people"
}
}
}
}
}
},
如代码所示,我希望对status not in (0,1,7)的uid(用户)进行聚合,并想得到uid桶种类的求和,那么member_count就应该与render_people同级,而不是把member_count放到和与valid_sales_people同一级。
 
如果将member_count 与valid_sales_people放到同一级,会报一个错:sum_bucket的第一个聚合必须是多桶聚合。究其原因,应该是加上filter aggregation后,valid_sales_people已不具有多桶聚合属性(因为附带了filter过滤条件),而其下的render_people则具有了多桶聚合属性。所以member_count应该与render_people放在同级,对应的buckets_path也自然改为render_people>unique_people