商品编号(no) 商品类型(type) 所属用户(user)
002 A aaa
003 A aaa
004 B aaa
005 B aaa
006 B aaa
007 C aaa
008 C aaa
009 A bbb
010 B bbb
011 C bbb
012 C bbb
013 A ccc
014 A ccc
015 B ccc
016 C ccc
017 C ddd
018 C ddd
019 A eee
020 A eee
描述:
如何通过查询查找出拥有两个A类型的,一个B类型的,一个c类型的商品的两个用户(这两个用户必须都拥有两个A,一个B和一个C)
es版本:7.6.1
目前我已经做到了如下部分:
002 A aaa
003 A aaa
004 B aaa
005 B aaa
006 B aaa
007 C aaa
008 C aaa
009 A bbb
010 B bbb
011 C bbb
012 C bbb
013 A ccc
014 A ccc
015 B ccc
016 C ccc
017 C ddd
018 C ddd
019 A eee
020 A eee
描述:
如何通过查询查找出拥有两个A类型的,一个B类型的,一个c类型的商品的两个用户(这两个用户必须都拥有两个A,一个B和一个C)
es版本:7.6.1
目前我已经做到了如下部分:
{
"size": 0,
"aggs": {
"user": {
"terms": {
"field": "user",
"size": 2
},
"aggs": {
"A": {
"filter": {
"bool": {
"must": {
"terms": {
"type": [ "A" ]
}
}
}
}
},
"B": {
"filter": {
"bool": {
"must": {
"terms": {
"type": [ "B" ]
}
}
}
}
}
}
}
}
}
1 个回复
kirito - 专注es
赞同来自:
(直接聚合可能需要用到脚本,比较复杂,尝试了一下没写出来,等大神)