我有一个名为“类别”的字段。
只需做以下操作,我就可以返回可能类别的列表:
$searchParams['body']['aggs']['category']['terms']['field'] = 'category'; 但是我想在这个字段中搜索,并且只返回与我的查询相匹配的类别。
示例列表:
我想搜索“饼”,结果如下:
有200多个类别。我想用elasticsearch的方式来做这件事,而不是使用MySQL作为搜索。
(谢谢你的帮助:)
发布于 2015-03-16 17:24:48
聚合在查询的“范围”中运行。因此,如果对"pie"执行搜索查询,聚合将只看到(和聚合)“饼”文档。
$query = [
'index' => 'my_index',
'type' => 'my_type',
'search_type' => 'count', // <-- Note search_type = count, to ignore search hits
'body' => [
'query' => [
'match' => [
'category' => 'pie'
]
],
'aggs' => [
'category' => [
'terms' => [
'field' => 'category'
]
]
]
]
];
$results = $client->search($query);https://stackoverflow.com/questions/29081057
复制相似问题