gpt4 book ai didi

elasticsearch - Bool过滤器中的Elasticsearch术语和范围

转载 作者:行者123 更新时间:2023-12-03 01:44:12 24 4
gpt4 key购买 nike

我正在尝试按产品类型和价格范围过滤产品数据。我不想对结果进行评分,所以它们都可以是0或1,我只需要结果集。

为什么我不能执行以下操作?看来很合逻辑!

Elasticsearch版本:5.5

GET my_store/products/_search
{
"query": {
"constant_score": {
"filter": {
"term": {
"productType": "cooker"
},
"range": {
"price": {
"gte": 10,
"lte": 20
}
}
}
}
}
}

执行此操作时,我得到:
"[term] malformed query, expected [END_OBJECT] but found [FIELD_NAME]"

这大概意味着我在语法上做错了
  • 这看起来不像逻辑结构吗?
  • 好的,即使是错误的,我也必须适应...那么正确的语法是什么?
  • 最佳答案

    这应该可以解决您的问题。我假设您的意思是逻辑与过滤器。如果您要对它们进行“或”操作,只需将“必须”替换为“应该”。
    很好的引用:https://www.elastic.co/guide/en/elasticsearch/guide/current/combining-filters.html

    {
    "query": {
    "constant_score": {
    "filter": {
    "bool": {
    "must": [
    {
    "term": {
    "productType": "cooker"
    }
    },
    {
    "range": {
    "price": {
    "gte": 10,
    "lte": 20
    }
    }
    }
    ]
    }
    }
    }
    }
    }

    关于elasticsearch - Bool过滤器中的Elasticsearch术语和范围,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45381174/

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