我需要sphinx按属性的总和对结果进行排序。我需要:
我无法找到一种方法来总结这个属性。 我怎么能这样做?
(我使用sphinx PHP API)
答案 0 :(得分:3)
自0.9.9-rc2版本起,Sphinx支持聚合函数(sum,avg,min,max)。 查看www.sphinxsearch.com/docs/current.html
中的文档答案 1 :(得分:1)
回应上一个答案,在Sphinx查询中是不可能的。虽然the expression syntax允许在排序中进行某种程度的计算,但它没有任何聚合函数。除非您将该求和值存储为属性(可以是一个选项 - 在索引期间计算它),否则每个记录必须是一个单独的SQL查询。
答案 2 :(得分:0)
据我所知,目前的Sphinx版本无法实现。按功能分组的目的是按属性(即,项目组的不同属性),该组中的计数以及组中的“顶部”项返回组。
最好的办法是在狮身人面像之外进行总结。您可以按属性按组执行Sphinx搜索排序,然后在PHP中循环这些项目,随时求和。这种方法可能效率不高,因此可能需要定期缓存以减少服务器负载。
答案 3 :(得分:0)
你的意思是分面搜索? ^ _ ^ http://sphinxsearch.com/blog/2013/06/21/faceted-search-with-sphinx/