为了给不同的列赋予不同的权重,当然可以使用:
select ...
from table_name
where match(column1,column2...columnn) against('+test..')
order by weight1*(match (column1) against('test..'))
+ weight2*(match (column2) against('+test..'))
+ ...
+ weightn*(match (column1) against('test..'))
但是当结果规模很大时,上面的order by会非常昂贵!
有没有更有效的方法来做到这一点?
最佳答案
使用思维狮身人面像,http://freelancing-god.github.com/ts/en/
关于mysql - 在 MYSQL 中进行加权全文搜索的最有效方法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/949423/