title: Elasticsearch query date range does not work
body: <p>I am trying to query ElasticSearch to get a result between two timestamps. 
  A typical record looks like</p>
  
  <pre><code>{
     "_index": "cost-2018.08.09",
     "_type": "log",
     "_id": "asdasdasxsa-sdsds",
     "_score": 4.281278,
     "_source": {
        "index": "cost-2018.08.09",
        "app_group": "shop",
        "timestamp": "2018-08-09T00:00:04.349692"
     }
  }
  </code></pre>
  
  <p>And the query I use to retrieve every <code>shop</code> from <code>app_group</code> between 2 timestamps: </p>
  
  <pre><code>GET /cost-2018.08.09/_search?q=app_group:shop 
  {
    "query": {
      "range": {
        "timestamp": {
          "gte": "2018-08-09 04:00:04",
          "lt": "2018-08-09 04:30:06"
        }
      }
    }
  </code></pre>
  
  <p>Only returns every <code>shop</code>, but does not check for any <code>timestamp</code>. What's weird, is that even if I include error on purpose on the query: </p>
  
  <pre><code>GET /cost-2018.08.09/_search?q=app_group:shop
  {
    "query": {
      "range": {
        "timestamp": {
          "gte": "2018-08-asdadsx09 04:00:04",
          "lt": "2018-08-09asdasd 04:30:06"
        }
      }
   }
  </code></pre>
  
  <p>I got the exact same answer. Like it does not take the <code>query</code> into consideration. </p>
  
  <p>Some notes: 
  In Python, my code looks like: </p>
  
  <pre><code>result = es_client.search(index='cost-2018.07.26', q='app_group:shop', filter_path=['hits.hits._source'], body={
          "query": {
              "range": {
                "timestamp": {
                   "gte": "2018-08-09 04:00:04",
                   "lt": "2018-08-09 04:30:06"
                }
             }
           }
      })
  </code></pre>
  
  <p>The <code>timestamp</code> field of the record is indeed interpreted as a <code>date</code> and not a <code>String</code>. </p>
  
  <p>What do I miss? </p>