2014-02-28 64 views
0

我有一个“对象”表(实际上是SQL的结果加入),数据是这样的:Sphinx搜索与计数不同值

ID, content, category_id 
1, some searchable data, 5 
2, some more data, 6 
3, more data, 5 
4, another example, 7 

我想使用狮身人面像索引此表并返回截然不同的 category_id值,以及有多少个记录有数据点击,按点击次数排序。

举例来说,如果我用“数据”一词搜索这个指标,我想结果是:

5, 2 hits 
6, 1 hit 

这将与分组和计数在MySQL很琐碎,但我可以我不会用狮身人面像搜索做同样的事情。

我的sql_query应该是什么?我应该如何使用PHP API来获得我需要的结果?

回答

1
$cl->SetGroupBy("category_id", SPH_GROUPBY_ATTR, "@count desc"); 

不同类别的IDS将是total_found

多条记录怎么过的数据命中你没有直接得到的,最简单的方法是通过查询来运行非组,那么它在total_found

+0

嗨,感谢您的帮助。我试图返回实际的类别ID作为我的文档ID,以及每个类别*中的对象数*。我可能会误解,但看起来这个答案可能只会返回计数。 – Johno

+0

category_id在每个匹配中的'attrs'数组中找到。另见'setSelect' – barryhunter