Elasticearch-Php-Mysql datetime фильтр и запрос

Я хочу индексировать мою базу данных mysql с помощью elasticsearch. Мои данные о датах. Я проиндексировал свои данные. Я использую PHP 5.5 и Elasticsearch 2.1 и Mysql.

Мои коды для картографирования:

$myTypeMapping['properties']['$date']['type']='date'; $myTypeMapping['properties']['$date']['index']='not_analyzed'; $myTypeMapping['properties']['$date']['format']='yyyy-MM-DD HH:mm:ss'; 

Мои коды для фильтра и запроса: (gte, lte, range query)

 unset($filter_date); if(isset($GET['dategte'])){ $filter_date['range']['date']['gte']=(($GET['dategte'])); $filter_date['range']['date']['lte']=(($GET['datelte'])); } if(is_array($filter_date)){ $searchParams['body']['query']['filtered']['filter']['and'][]=$filter_date; } с unset($filter_date); if(isset($GET['dategte'])){ $filter_date['range']['date']['gte']=(($GET['dategte'])); $filter_date['range']['date']['lte']=(($GET['datelte'])); } if(is_array($filter_date)){ $searchParams['body']['query']['filtered']['filter']['and'][]=$filter_date; } 

Мой запрос: (между [2016-01-01 00:00:00] – [2017-12-31 23:59:59])

 http://10.0.2.15:8080/filter.php?date_gte=2016-01-01 00:00:00&date_lte=2017-12-31 23:59:59 

-> Тот факт, что нужно найти 38 результатов.

-> Но показывается только 1 результат-> 2017-07-03 14:00:00,

-> Записи в 2016 году, не показаны.

Если я изменю запрос следующим образом: (2016-2017)

 http://10.0.2.15:8080/filter.php?date_gte=2016&date_lte=2017 

-> 38 записей. Это правда. Тем не менее, я хотел бы запросить как минуты месяца в месяц.

Также еще один запрос: ([2015-01-01 00:00:00] – [2017-12-31 23:59:59])

 http://10.0.2.15:8080/filter.php?date_gte=2015-01-01 00:00:00&date_lte=2017-12-31 23:59:59 

-> 38 записей. Это неверно. На самом деле, с 2017 года насчитывается 100 заявок на 2015 год.

Я думаю, проблема в php. Но я не уверен. В чем проблема? Пожалуйста, помогите мне.