使用 Sphinx 获取结果总数 MySQL

Get total number of results using Sphinx MySQL

如何使用 mysql 和 sphinx 获得结果总数?

首先我尝试使用 PDO 语句,它 return 一个数字,但它不准确。

$array = $pdo_sphinx->prepare("select * from `my_index` where MATCH ('@name ($search)') limit $start, $limit");
$array->execute(); 

$query = $pdo_sphinx->prepare("select COUNT(*) from `my_index` where MATCH ('@name ($search)')");
$query->execute();      
$total = $query->fetchColumn();

然后我读到你可以从 SHOW META 得到 total_found 如果你在查询后 运行 它

$array = $sphinx->Query("select * from `my_index` where MATCH ('@name ($search)') limit $start, $limit; SHOW META");

$total = $array['total_found'];

$total 是 returning 0,而它应该是 9。如何从上面的查询中得到正确的 total_found?有没有办法用 PDO 语句做到这一点?我需要正确的分页结果

请注意,当您添加 'SHOW META' 时,它会成为一个多查询。有两个独立的查询,每个查询都有自己的结果集。

(是的,使用 COUNT(*) 可能不准确,因为分组可能有些近似)