php客户端中的弹性搜索查询错误 [英] elasticsearch bool query error in php client
本文介绍了php客户端中的弹性搜索查询错误的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
ElasticSearch返回我 [_ na]查询格式错误,尝试使用以下查询查找条目后,start_object
后无字段。现场本地时间是一个新的文档,并存在于每个文档中。
ElasticSearch returns me [_na] query malformed, no field after start_object
error when trying to look up entries using the following query. The field localtime is a new field of documents and exist in every document.
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将不胜感激!谢谢!
anyhelp will be appreciated ! thanks!
推荐答案
您的 bool / must
子句必须是纯数组而不是关联数组:
Your bool/must
clause must be a pure array not an associative array:
$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"
)
)
)
)
)
);
这篇关于php客户端中的弹性搜索查询错误的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文