我试图让全文搜索按 Doctrine_RawSql 查询中的相关性进行排序。
此代码将执行搜索:
$q = new Doctrine_RawSql();
$q->select('{p.*}')
->from('cms_page p')
->where('match(p.content) against (?)', $user_query)
->addComponent('p', 'CmsPage p');
这将执行。我希望结果按相关性排序
真正的 sql 必须看起来像:
select
p.id,
match(p.content) against (?) as score
from
cms_page as p
order by
score desc;
所以我需要得到那个匹配...反对选择中的子句...我想。
我对实现这一点的胡扯猜测是:
$q->select("{p.id}, match({p.content}) against ('$escaped_user_query') as score")
->from('cms_page p')
->orderBy('score DESC')
->addComponent('p', 'CmsPage p');
那是行不通的。任何指针?
提前致谢!