Ошибка elasticsearch bool в php-клиенте

ElasticSearch возвращает мне [_na] query malformed, no field after start_object ошибки [_na] query malformed, no field after start_object при попытке поиска записей, используя следующий запрос. Местное время поля – это новое поле документов и существует в каждом документе.

php-код,

 $qryurl = '<myurl>:<myport>/index/_search?pretty'; $data = array( "query" => array( "bool" => array( "must" => array( "range" => array( "localtime" => array( "from" => "2016-06-15T17:43:04.923Z", "to" => "2016-06-17T17:43:04.923Z", "include_lower" => "true", "include_upper" => "true" ) ), "term" => array( "query" => "1.2.3.4", "fields" => array("ip") ), "query_string" => array( "query" => "*up*", "default_field" => array("_all") ) ) ) ); 

Почему эта ошибка появляется?

anyhelp будет оценен! благодаря!

Ваш bool/must должен быть чистым массивом, а не ассоциативным массивом:

 $qryurl = '<myurl>:<myport>/index/_search?pretty'; $data = array( "query" => array ( "bool" => array ( "must" => array( array( "range" => array ( "localtime" => array ( "from" =>"2016-06-15T17:43:04.923Z", "to" => "2016-06-17T17:43:04.923Z", "include_lower" => "true", "include_upper" => "true" ) ) ), array( "term" => array( "ip" => "1.2.3.4" ) ), array( "query_string" => array( "query" => "*up*", "default_field" => "_all" ) ) ) ) ) );