php - elasticsearch使用php API获取索引中的文档总数

标签 php elasticsearch

我已经创建了 elasticsearch 索引:

$es = Elasticsearch\ClientBuilder::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 方法。

我的问题是,我不明白如何在 php API 中实现 _count

试过了:

$search_params= [
    'index'=>'articles',
    'type'  => 'article',
    'body' => [ 
        'query'  => ['_count'=>[] ] 
    ]
];

$query = $es->search($search_params);

还有其他几种变体,但没有一种语法正确。

帮助?

最佳答案

关于php - elasticsearch使用php API获取索引中的文档总数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39902852/

相关文章:

php - Yii2:Web 服务请求和响应记录器

php - 将参数传递给 set_error_handler PHP 中调用的函数

php - php 迭代json数据

elasticsearch - 是否有ElasticSearch 6.4.3的应用程序客户端(类似于DBeaver)

javascript - Laravel E-com 运费按公里计算

php - Mysql 需要很长时间来插入和更新 Yii Framework

elasticsearch - Elasticsearch -使用NEST创建查询

mysql - 如何确定metricbeat mysql的理想期限?

java.lang.NoSuchMethodError : org. Elasticsearch .common.settings.Settings.settingsBuilder()

elasticsearch - 如何搜索JSON元素?