好的,我正在尝试在多个列中进行全文搜索,这样简单:
SELECT * FROM pages WHERE MATCH(head, body) AGAINST('some words' IN BOOLEAN MODE)
Run Code Online (Sandbox Code Playgroud)
现在我想按相关性排序(找到多少单词?),我可以用这样的东西做:
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
Run Code Online (Sandbox Code Playgroud)
现在这里出现了我迷失的部分,我想优先考虑head专栏中的相关性.
我想我可以创建两个相关列,一个用于head一个body,一个用于,但在那时我将在表中进行三次相同的搜索,并且对于我正在制作此功能,性能很重要,因为查询将连接并与其他表匹配.
所以,我的主要问题是,是否有更快的方法来搜索相关性并确定某些列的优先级?(作为奖励甚至可能使相关计数在列中出现的次数?)
任何建议或建议都会很棒.
注意:我将在LAMP服务器上运行它.(本地测试中的WAMP)