我想根据来源进行查询,所以我将该编码放在我的基本查询中,它应该始终根据源查询,其中源值存储在变量$ webAddress中。
如果没有选择任何内容,它应该运行默认查询,但它总是给我一个奇怪的错误!
错误消息---
所以为什么我收到这个错误,任何人都知道如何解决这个奇怪的问题!
非常感谢先进。
在AbstractJsonSerializer :: jsonDecode('{“take”:291,“timed_out”:false,“_ shards”:{“total”:2,“success”:2,“failed”:0}, “命中”:{ “总”:10 “MAX_SCORE”:0.94276774, “命中”:[{ “_索引”: “myIndex”, “_类型”: “的myType”, “_ ID”: “p717ff3c9460bf8a52407d6e4a63f239dbeb052cf”, “_分数” :0.94276774, “_源”:{ “内容”:“美丽的后院已经成为郊区的象征 就像车道上的一辆全新的汽车。升级你的户外 空间不仅仅是升级......} 供应商/ elasticsearch / elasticsearch / SRC / Elasticsearch /串行器/ SmartSerializer.php 在第39行+
在SmartSerializer上 - >反序列化('{“take”:291,“timed_out”:false,“_ shards”:{“total”:2,“success”:2,“failed”:0} , “命中”:{ “总”:10 “MAX_SCORE”:0.94276774, “命中”:[{ “_索引”: “myIndex”, “_类型”: “的myType”, “_ ID”: “p717ff3c9460bf8a52407d6e4a63f239dbeb052cf”,“_分数“:0.94276774,” _源“:{ “内容”:“一个男友......}
4.at Transport - > performRequest('GET','/ myType / content / _search',array('size'=> '30'),array('query'=> array('bool '=>数组('必须' => array(array('query_string'=> array('default_field'=>'source','query'=>'aa.com','bb.com','cc.com'))))) ,'sort'=> array())in 供应商/ elasticsearch / elasticsearch / SRC / Elasticsearch /端点/ AbstractEndpoint.php 在第86行+
- 醇>
在AbstractEndpoint - > performRequest()在vendor / elasticsearch / elasticsearch / src / Elasticsearch / Client.php at at 1012行
如果我打印正在执行的查询我得到---
{
"index": "myIndex",
"type": "myType",
"size": 30,
"body": {
"query": {
"bool": {
"must": [
{
"query_string": {
"default_field": "source",
"query": "aa.com, bb.com, cc.com"
}
}
]
}
},
"sort": []
} }
答案 0 :(得分:1)
在您的PHP代码中,您已插入两次query/bool/must
组合。只需删除第一个,你应该没事。
$params = array(
'index' => "myIndex",
'type' => "myType",
'xize' => 100,
'body' => array(
'query' => array(
'bool' => array(
'must' => array(
)
)
),
'sort' => array()
)
);
$params['body']['query']['bool']['must'][] = array(
'query_string' => array(
'default_field' => 'source',
'query' => implode(', ', array_column($webAddress, 'source'))
)
):