MySQL是一款開源的關(guān)系型數(shù)據(jù)庫系統(tǒng),由于它具有高性能、高可靠性、安全性等優(yōu)勢(shì),在現(xiàn)代化應(yīng)用中得到廣泛應(yīng)用。
MySQL的Full-text功能是它的一項(xiàng)非常強(qiáng)大的特性,它允許用戶通過某些關(guān)鍵詞來搜索文本內(nèi)容。Full-text搜索在文本內(nèi)容很多的時(shí)候,比LIKE查詢方式更為高效,因?yàn)樗褂昧怂饕?/p>
CREATE TABLE articles ( id INT UNSIGNED AUTO_INCREMENT NOT NULL PRIMARY KEY, title VARCHAR(200), body TEXT, FULLTEXT (title,body) );
為使FULLTEXT索引生效,需要事先在mysql的全局配置文件my.cnf中加入一行配置項(xiàng)。
ft_min_word_len= [搜索的最小字符長(zhǎng)度] ft_stopword_file= [停用詞文件路徑]
Full-text搜索支持以下幾種查詢方式:
SELECT * FROM articles WHERE MATCH (title,body) AGAINST ('搜索內(nèi)容');
使用Boolean方式:
SELECT * FROM articles WHERE MATCH (title,body) AGAINST ('+搜索 +內(nèi)容' IN BOOLEAN MODE);
使用查詢擴(kuò)展符號(hào):
SELECT * FROM articles WHERE MATCH (title,body) AGAINST ('搜索內(nèi)容'*');
Full-text搜索的語法還支持多個(gè)條件的查詢,以及各種高級(jí)查詢方式,需要深度了解的用戶可以進(jìn)一步閱讀MySQL的官方文檔。在實(shí)際應(yīng)用中,F(xiàn)ull-text搜索可以為用戶快速、準(zhǔn)確地搜索內(nèi)容提供支持。