【发布时间】:2017-07-02 12:34:53
【问题描述】:
我在弹性搜索中遇到问题。在控制台 Kibana 中,我正在执行这段代码,
GET bounce_gmd/_search
{
"query": { "match_phrase": { "date_added": "2017-02-08" } },
"size": 0,
"aggs": {
"date_added": {
"terms": {
"field": "bounce_type.keyword"
}
}
}
}
我有这个结果。
{
"took": 1,
"timed_out": false,
"_shards": {
"total": 5,
"successful": 5,
"failed": 0
},
"hits": {
"total": 129812,
"max_score": 0,
"hits": []
},
........................... and many more lines.
但是当我从我的 laravel 项目中运行时,我没有这个结果。 我的php代码是这样的,
$params['index'] = $index_name;
$params['type'] = $index_name;
$params['body'] = $json;
$params['body']['query']['match_phrase']['date_added'] = $now_time;
$params['body']['size']=0;
$params['body']['aggs']['bounce_type']['terms']['field']='bounce_type.keyword';
$response = $client->search($params);
这里是 $index_name='bounce_gmd' 和 $now_time="2017-02-08"。
但答案是,
我把代码改成,
$json='{
"query": { "match_phrase": { "date_added": "2017-02-08" } },
"size": 0,
"aggs": {
"date_added": {
"terms": {
"field": "bounce_type.keyword"
}
}
}
}
';
$params = [
'index' => $index_name,
'type' => $index_name,
'body' => $json
];
但答案还是一样的。我不明白是什么问题。请帮我。
【问题讨论】:
-
你能打印出你的php代码的查询吗?
-
您希望如何以 sql 形式查询?我尝试从这个页面查询。 elastic.co/guide/en/elasticsearch/client/php-api/current/…
标签: php search elasticsearch laravel-5.3