我有一些这样的索引记录:
{
song_id: 123,
user_id: 1000,
date: "2018-06-04T16:01:20"
},{
song_id: 123,
user_id: 1000,
date: "2018-05-03T14:21:17"
},{
song_id: 123,
user_id: 1001,
date: "2018-05-25T22:54:37"
},{
song_id: 124,
user_id: 1001,
date: "2018-04-25T22:54:37"
}现在,我想使用两个user_id作为输入进行聚合查询,聚合应该说明两个用户下载了哪些歌曲。如果我的输入是user_id的song_id _ 123和1001,那么我希望得到的结果显示了123。
通知
@andrei-stefan
发布于 2018-09-25 20:50:33
{
"from": 0,
"size": 0,
"query": {
"bool": {
"must": [
{
"bool": {
"should": [
{
"match": {
"user_id": 1000
}
},
{
"match": {
"user_id": 1001
}
}
]
}
}
]
}
},
"aggs": {
"songs": {
"terms": {
"size": 1000,
"field": "song_id",
"order": {
"_count": "desc"
}
},
"aggs": {
"should_we_consider": {
"bucket_selector": {
"buckets_path": {
"hits": "users._bucket_count"
},
"script": "params.hits == 2"
}
},
"users": {
"terms": {
"field": "user_id"
}
}
}
}
}
}https://stackoverflow.com/questions/52481676
复制相似问题