elasticsearch解析异常预期字段名称

时间:2015-08-28 15:22:10

标签: elasticsearch filter range

我试图根据文本字段中的范围过滤一些短语。我有代码,但它不起作用。我该如何解决?我还想在查询中添加必须选项如何做到这一点?

{
  "query": {
    "filtered": { 
      "filter": {
        "range": { "date": {"gt": "2015-08-27",
"lte": "2015-08-28"}}
      }
    },
    "query":{
    "filtered" : {
        "filter" : {
            "terms" : { "text" : ["has", "parti"]}
        }
    }
  }
}}

1 个答案:

答案 0 :(得分:0)

您只需将terms过滤器移至顶部过滤器(即无需进行两次filtered次查询。

{
  "query": {
    "filtered": {
      "filter": {
        "bool": {
          "must": [
            {
              "terms": {
                "text": [
                  "has",
                  "parti"
                ]
              }
            },
            {
              "range": {
                "date": {
                  "gt": "2015-08-27",
                  "lte": "2015-08-28"
                }
              }
            }
          ]
        }
      }
    }
  }
}