我有一个像
这样的查询select * from mytable where posttext @@ to_tsquery('Intelence');
我的文字有'intelence'字样和'intel'字样。
我想返回结果,其中关键字'Intelence'的完全匹配将在'intel'结果之前订购?
答案 0 :(得分:1)
也许不是最优化和最佳的方式,但在order by
中使用正则表达式匹配应该做你想要的
with mytable( posttext ) as(
select 'a Intelence' union all
select 'intel someIntelence' union all
select 'a intel' union all
select 'a Intelence b'
)
select *
from mytable
where posttext @@ to_tsquery('Intelence')
order by posttext ~* '(^|\s)intelence(\s|$)' desc