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" ) ) ) ) ) );