【发布时间】:2020-10-13 17:45:14
【问题描述】:
假设我有以下数据:
{
"id":"1",
"name": "John",
"tag":"x"
},
{
"id": 2,
"name":"John",
"tag":"y"
},
{
"id": 3,
"name":"Jane",
"tag":"x"
}
我想获取同时具有 tag = "x" 和 tag = "y"
的文档数(名称唯一)鉴于以上数据,查询应该返回 1,因为只有 John 存在两个文档,其中包含两个必需的标签。
到目前为止,我能够做的是一个使用 OR 的查询(因此 tag = "x" 或 tag = "y")将返回 2。例如:
"aggs": {
"distict_count": {
"filter": {
"terms": {
"tag": [
"x",
"y"
]
}
},
"aggs": {
"agg_cardinality_name": {
"cardinality": {
"field": "name"
}
}
}
}
}
是否可以将其更改为使用 and 而不是 or?
【问题讨论】:
标签: elasticsearch