#php #elasticsearch
#php #elasticsearch
Вопрос:
Я создал индекс elasticsearch:
$es = ElasticsearchClientBuilder::create()->build();
$params = [
'index'=>'articles',
'type' => 'article'
];
for ($i=0; $i<30; $i ) {
$params['body'] = [ 'title'=>'title '.$i, 'body'=>'text '.$i ];
$response = $es->index($params);
}
Итак, добавлено 30 документов, теперь мне нужно получить общее количество записей. Это работает
$search_params= [
'index'=>'articles',
'type' => 'article',
];
$query = $es->search($search_params);
echo $query['hith']['total'];
Но, как я читал, более эффективным является использование _count
метода прямого подсчета.
Моя проблема в том, что я не понял, как реализовать _count
в php API?
пробовал:
$search_params= [
'index'=>'articles',
'type' => 'article',
'body' => [
'query' => ['_count'=>[] ]
]
];
$query = $es->search($search_params);
и несколько других вариантов, но не подходит один синтаксис.
Помогите?
Ответ №1:
Вы пробовали $query = $es->count($search_params);