gpt4 book ai didi

elasticsearch - 使用多个应该查询

转载 作者:行者123 更新时间:2023-12-02 22:36:37 25 4
gpt4 key购买 nike

我想获取类似于多个“组”但单独存在的文档。每个组都有自己的规则(术语)。
当我尝试在一个“ bool(boolean) ”内使用多个“应”查询时,我会得到同时包含两个“应”项的项目。
我想总共使用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
}

最佳答案

您可以尝试通过脚本在多个字段上使用术语聚合,然后将热门匹配聚合添加为子聚合。请注意,这将非常缓慢。在查询/过滤器后面添加此代码,并根据需要调整size参数

 "aggs": {
"Cat_and_Keys": {
"terms": {
"script": "doc['cat'].values + doc['keys'].values"
},
"aggs":{ "separate_docs": {"top_hits":{"size":1 }} }
}
}

关于elasticsearch - 使用多个应该查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50201761/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com