弹性搜索中的过滤查询

时间:2015-06-10 14:48:02

标签: elasticsearch nosql

过滤查询查询无法在弹性搜索中使用。它给出了一个错误Query Parsing异常,过滤器格式错误,start_object后没有字段

{
"query": {
  "filtered": {
    "query": {
      "match_all": {}
    },
    "filter": {
      "bool": {
        "must": [],
        "should": [
          {
            "_expires": null
          },
          {
            "_expires": {
              "gte": 1433947304884
            }
          }
        ],
        "must_not": [
          {
            "term": {
              "age": 19
            }
          }
        ]
      }
    }
  }
},
"size": 10,
"from": 0
}

有人可以帮我吗?

1 个答案:

答案 0 :(得分:1)

您的should应该实际使用过滤器。对于你的"_expires": null。这不是过滤器。

例如,尝试:

        {
          "missing": {
            "field": "_expires"
          }
        },
        {
          "range": {
            "_expires": {
              "gte": 1433947304884
            }
          }
        }