【发布时间】:2019-05-08 20:21:10
【问题描述】:
如何根据字段值创建存储桶聚合,然后运行查询,通过过滤器为每个存储桶(而不是每个文档)提供命中?
弹性搜索的新功能,我将不胜感激!
【问题讨论】:
标签: elasticsearch
如何根据字段值创建存储桶聚合,然后运行查询,通过过滤器为每个存储桶(而不是每个文档)提供命中?
弹性搜索的新功能,我将不胜感激!
【问题讨论】:
标签: elasticsearch
我目前正在努力解决这个问题。到目前为止,我已经弄清楚如何在字段上进行聚合,但还不能应用过滤器。请让我知道您是否取得了进展,因为我看到这是不久前发布的...
# connect to elastic search
elastic::connect('connection_string',
es_port = 9200)
# define aggregation
aggs <- list(
aggs = list(
field_name = list(
terms = list(
field = "field_name"
)
)
)
)
# search
Search(index = 'index_name',
body = aggs,
asdf = T)
【讨论】:
我设法为日期应用过滤器,如下所示:
last_week <- query('{
"range" : {
"your_date_field" : {
"gte" : "mondays-date",
"lt" : "sundays-date"
}
}
}')
我将此作为主要查询。我认为您可以使用 %search% (last_week + agg) 表示法对此进行聚合,它应该可以工作。
【讨论】: