mysql match表_MySQL match()对()-按相关性和按列排序?

好的,所以我试图在多列中进行全文搜索,就像这样简单:

SELECT * FROM pages WHERE MATCH(head, body) AGAINST('some words' IN BOOLEAN MODE)

现在,我想按相关性排序(找到了多少个单词?),我已经可以使用以下方式进行处理:

SELECT * , MATCH (head, body) AGAINST ('some words' IN BOOLEAN MODE) AS relevance

FROM pages

WHERE MATCH (head, body) AGAINST ('some words' IN BOOLEAN MODE)

ORDER BY relevance

现在这是我迷路的部分,我想在此head列中优先考虑相关性。

我想我可以创建两个相关性列,一个用于head,一个用于body,但是到那时,我将在表中进行三遍相同的搜索,而对于我要创建的函数,性能非常重要,因为查询将被联接并与其他表匹配。

因此,我的主要问题是,是否有更快的方法来搜索相关性并确定某些列的优先级?(作为奖励,甚至可能使相关性计数单词在列中出现的次数?)

任何建议或意见将是巨大的。

注意:我将在LAMP服务器上运行它。(本地测试中的WAMP)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值