很多互聯(lián)網(wǎng)應(yīng)用程序都提供了全文搜索功能,用戶可以使用一個(gè)詞或者詞語片斷作為查詢項(xiàng)目來定位匹配的記錄。在后臺(tái),這些程序使用在一個(gè)SELECT查詢中的LIKE語句來執(zhí)行這種查詢,盡管這種方法可行,但對于全文查找而言,這是一種效率極端低下的方法,尤其在處理大量數(shù)據(jù)的時(shí)候。
MySQL針對這一問題提供了一種基于內(nèi)建的全文查找方式的解決方案。在此,開發(fā)者只需要簡單地標(biāo)記出需要全文查找的字段,然后使用特殊的MySQL方法在那些字段運(yùn)行搜索,這不僅僅提高了性能和效率(因?yàn)镸ySQL對這些字段做了索引來優(yōu)化搜索),而且實(shí)現(xiàn)了更高質(zhì)量的搜索,因?yàn)镸ySQL使用自然語言來智能地對結(jié)果評級(jí),以去掉不相關(guān)的項(xiàng)目。
這篇文章將向您講述在MySQL中如何進(jìn)行全文搜索。
1、設(shè)置基本表格
從創(chuàng)建例子表格開始,使用以下的SQL命令:
|
以上命令創(chuàng)建了一個(gè)簡單的音樂專集資料庫(主要是整段的文字),然后向這個(gè)表格中添加一些記錄:
|
驗(yàn)證數(shù)據(jù)的正確錄入:
|
2、定義全文搜索字段
接下來,定義您要作為全文搜索索引的字段
|
使用SHOW INDEXES命令來檢查索引已經(jīng)被添加了:
|
3、運(yùn)行全文搜索
當(dāng)您擁有了數(shù)據(jù)和索引,就可以使用MySQL的全文搜索了,最簡單的全文搜索方式是帶有MATCH...AGAINST語句的SELECT查詢,以下是一個(gè)簡單的例子,可以來查找含有單詞“single”的記錄:
|
新聞熱點(diǎn)
疑難解答
圖片精選