我希望获得与多个“群组”相似但分开的文档。每个小组都有自己的规则(条款)。 当我尝试使用多个应该在“bool”中查询时,我得到的项目都是两个应用项的混合。 我想使用1个查询总数而不是msearch例如。
有人可以帮助我吗?
{
"explain": true,
"query": {
"filtered": {
"filter": {
"bool": {
"must_not": [
{
"term": {
"p_id": "123"
}
},
{
"term": {
"p_id": "124"
}
}
]
}
},
"query": {
"bool": {
"minimum_should_match": 1,
"should": [
{
"bool": {
"minimum_should_match": 1,
"should": [
{
"term": {
"cat": "1"
}
},
{
"term": {
"cat": "2"
}
},
{
"term": {
"keys": "a"
}
},
{
"term": {
"keys": "b"
}
}
]
}
},
{
"bool": {
"minimum_should_match": 1,
"should": [
{
"term": {
"cat": "6"
}
},
{
"term": {
"cat": "7"
}
},
{
"term": {
"keys": "r"
}
},
{
"term": {
"keys": "u"
}
}
]
}
}
]
}
}
}
},
"from": 0,
"size": 3
}
答案 0 :(得分:0)
您可以尝试在脚本上使用多个字段上的术语聚合,并将顶部命中聚合添加为子聚合。请注意,这将非常缓慢。在查询/过滤后添加此项并根据需要调整大小参数
ManyToOne