繁体   English   中英

如何在Elasticsearch中使用范围post_filter

[英]How to use range post_filter in elasticsearch

我在任何地方都找不到语法示例,并且以下命令不起作用:

{
  "query": {
    "filtered": {
      "filter": {
        "bool": {
          "must": [
            { "term": { "category": "catname"   }}
          ]
        }
      }
    }
  },
  "post_filter": {
    "terms": {"type": ["foo1", "foo2"] },
    "range": { "price": { "gte": 300, "lte": 600 } }
  }
}

您只需要将所有的terms过滤器包装在其他bool/must过滤器中:

{
  "query": {
    "filtered": {
      "filter": {
        "bool": {
          "must": [
            {
              "term": {
                "category": "catname"
              }
            }
          ]
        }
      }
    }
  },
  "post_filter": {
    "bool": {
      "must": [
        {
          "terms": {  "type": [ "foo1", "foo2" ] }
        },
        {
          "range": {  "price": { "gte": 300, "lte": 600  } }
        }
      ]
    }
  }
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM