Navicat使用教程:在MySQL中執(zhí)行全文搜索(第1部分)
Navicat for MySQL 是一套管理和開發(fā) MySQL 或 MariaDB 的理想解決方案。使用Navicat for MySQL可以同時連接到 MySQL 和 MariaDB。Navicat for MySQL提供了強大的前端功能,為數(shù)據(jù)庫管理、開發(fā)和維護提供了直觀的圖形界面。對新手和專業(yè)人士來說,Navicat for MySQL都是管理和開發(fā) MySQL 或 MariaDB的強大工具。
全文搜索(FTS)是搜索引擎用來在其數(shù)據(jù)庫中查找結(jié)果的技術(shù)之一。您也可以利用FTS的功能來搜索對于Like運算符而言過于復(fù)雜的模式。在今天的文章中,我們將學習如何在MySQL中實現(xiàn)全文搜索。在第2部分中,我們將嘗試使用Navicat for MySQL作為數(shù)據(jù)庫客戶端來進行一些查詢。
全文搜索解釋
FTS的目的是獲取僅將搜索條件與文本數(shù)據(jù)進行松散匹配的文檔。因此,搜索“汽車和卡車”,將返回單獨包含單詞的結(jié)果,例如“汽車”或“卡車”,或者包含不同順序的單詞(“卡車和汽車”),或包含變體的搜索字詞,例如“汽車”和“卡車”。這使企業(yè)可以猜測用戶正在搜索什么,并在更快的時間內(nèi)返回更相關(guān)的結(jié)果。
像MySQL這樣的數(shù)據(jù)庫管理系統(tǒng)(DBMS)確實允許使用LIKE表達式進行準文本查找。但是,Like子句有一些缺點:
它們在大型數(shù)據(jù)集上往往表現(xiàn)不佳。
它們還限制為精確匹配用戶的輸入,這意味著即使實際上存在具有相關(guān)信息的記錄,查詢也可能不會產(chǎn)生任何結(jié)果。
MySQL中的全文本搜索
為了在MySQL中執(zhí)行全文搜索,您必須在支持全文搜索的字段中添加FULLTEXT索引。此外,全文索引只能與MyISAM和InnoDB表一起使用。最后,請注意,只能為CHAR、VARCHAR或TEXT列創(chuàng)建全文索引??梢栽贑REATE TABLE語句中給出FULLTEXT索引定義,或者稍后使用ALTER TABLE或CREATE INDEX命令添加。大型數(shù)據(jù)集的提示:將數(shù)據(jù)加載到?jīng)]有FULLTEXT索引的表中,然后在加載數(shù)據(jù)之后創(chuàng)建索引要快得多,而不是先創(chuàng)建FULLTEXT索引然后再加載數(shù)據(jù)要快得多。
全文搜索分為三種不同的類型:
自然語言全文搜索
布爾全文搜索
查詢擴展搜索
在第2部分中的清單中,我們將依次介紹這些內(nèi)容。
一個基本的例子
在Sakila樣本數(shù)據(jù)庫中,電影表包含有關(guān)商店電影收藏中每部電影的信息,包括其標題、放映時間和描述。我們可以使用“表單視圖”詳細查看電影表記錄。表單視圖具有完整版本,可讓我們以表單的形式查看、更新、插入或刪除數(shù)據(jù),其中當前記錄以詳細信息顯示。還有導(dǎo)航欄,可在記錄之間快速切換。
通過將FULLTEXT索引添加到描述列,我們可以在其上添加全文搜索功能。我們可以發(fā)出ALTER TABLE或CREATE INDEX命令,但它是Navicat,有一種更簡單的方法!表設(shè)計器包含許多與不同表對象有關(guān)的選項卡。其中包括列定義、索引、外鍵、觸發(fā)器、選項等。我們可以通過使用“字段選擇器”對話框選擇描述字段,在描述字段上添加全文索引,然后從“索引類型”下拉列表中選擇“全文”:
確保將索引方法留空。
單擊保存按鈕以創(chuàng)建新索引:
結(jié)論
現(xiàn)在,我們已經(jīng)為全文搜索準備了數(shù)據(jù)庫,我們將在第2部分中學習如何使用全文搜索功能。您可以下載Navicat for MySQL免費版進行評估~
相關(guān)內(nèi)容推薦:
想要購買該產(chǎn)品正版授權(quán),或了解更多產(chǎn)品信息請點擊“咨詢在線客服”
1024,慧都致敬程序員們,zend現(xiàn)金優(yōu)惠券限時放送,只剩最后一天了?。?!