2011-01-22 92 views

回答

15

首先,创建三个FULLTEXT索引:

* one on the title column 
* one on the body column 
* one on both title and body columns 

然后,按以下方式构建查询:

SELECT field1, field2, field3, title, body, 
MATCH (title) AGAINST ('word_to_search') AS rel_title, 
MATCH (body) AGAINST ('word_to_search') AS rel_body 
FROM table_to_use 
WHERE MATCH (title,body) AGAINST ('word_to_search') 
ORDER BY (rel_title*2)+(rel_body) 

这将给标题比2倍以上的相关性身体。

当您需要允许对内容进行排序(例如,由用户不查看的标签)时,这非常方便,因为它允许您从幕后调整结果。

+2

给你一个大拇指..但我还是不喜欢3个索引......只是不喜欢它... – 2015-07-12 16:18:08