除权重外,我们还希望将某些元素纳入搜索结果的排名(num_views,价格等)。
$results = $sphinx->search($query, 'products')
->setMatchMode(\Sphinx\SphinxClient::SPH_MATCH_EXTENDED2)->query();
如何将weight
与其他因素(例如num_view
)结合起来? (请注意,我不想按两个字段分别排序,我希望能够将两个字段合并为一个分数。
谢谢!
答案 0 :(得分:0)
在SphinxQL中,您可以使用以下代码:
SELECT id, weight() + num_view AS my_weight FROM products
WHERE match('some query') ORDER BY my_weight DESC
weight() + num_view
是将两个因素组合为一个权重值的简单示例。
我想在Sphinx PHP API中,您可以使用SetSelect和SetSortMode函数来做同样的事情。