[英]Elasticsearch : php variable into query
我有一个有效的查询。 但是我想用一个php变量替换一个部分,所以问题是生成了一个数组,查询不起作用。
该查询有效:
...[query] => Array
(
[filtered] => Array
(
[query] => Array
(
[multi_match] => Array
(
[query] => Baden-Powell
[fields] => Array
(
[0] => title
[1] => field_auteur
[2] => body:value
)
)
)
...
该字段可以为空,所以我想用这样的变量替换这部分[query] [multi_match]:
'query' => [
'filtered' => [
$querytitle,
...
和$ querytitle =
$querytitle= "'query' => [
'multi_match' => [
'query' => $SearchSimple,
'fields' => ['title', 'field_auteur', 'body:value']
]
],
";
or $querytitle="";
生成的代码是:
[query] => Array
(
[filtered] => Array
(
[0] => 'query' => [
'multi_match' => [
'query' => Baden-Powell,
'fields' => ['title', 'field_auteur', 'body:value']
]
],
问题是“查询”之前的“数组[0]”。 我如何整合我的变量$ querytitle,使请求有效? 谢谢你的帮助
问题出在以下事实: $querytitle
变量包含一个字符串而不是仅包含一个关联数组。
尝试像这样:
$querytitle = Array('query' => [
'multi_match' => [
'query' => $SearchSimple,
'fields' => ['title', 'field_auteur', 'body:value']
]
]
);
然后,您需要像这样编写新查询(即, filtered
后不带方括号):
'query' => [
'filtered' => $querytitle,
...
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.