翻譯|使用教程|編輯:莫成敏|2019-10-24 11:07:10.980|閱讀 1235 次
概述:Navicat for MySQL 是一套管理和開發 MySQL 或 MariaDB 的理想解決方案。在今天的文章中,我們將學習如何在MySQL中實現全文搜索。
# 界面/圖表報表/文檔/IDE等千款熱門軟控件火熱銷售中 >>
相關鏈接:
Navicat for MySQL 是一套管理和開發 MySQL 或 MariaDB 的理想解決方案。使用Navicat for MySQL可以同時連接到 MySQL 和 MariaDB。Navicat for MySQL提供了強大的前端功能,為數據庫管理、開發和維護提供了直觀的圖形界面。對新手和專業人士來說,Navicat for MySQL都是管理和開發 MySQL 或 MariaDB的強大工具。
全文搜索(FTS)是搜索引擎用來在其數據庫中查找結果的技術之一。您也可以利用FTS的功能來搜索對于Like運算符而言過于復雜的模式。在今天的文章中,我們將學習如何在MySQL中實現全文搜索。在第2部分中,我們將嘗試使用Navicat for MySQL作為數據庫客戶端來進行一些查詢。
全文搜索解釋
FTS的目的是獲取僅將搜索條件與文本數據進行松散匹配的文檔。因此,搜索“汽車和卡車”,將返回單獨包含單詞的結果,例如“汽車”或“卡車”,或者包含不同順序的單詞(“卡車和汽車”),或包含變體的搜索字詞,例如“汽車”和“卡車”。這使企業可以猜測用戶正在搜索什么,并在更快的時間內返回更相關的結果。
像MySQL這樣的數據庫管理系統(DBMS)確實允許使用LIKE表達式進行準文本查找。但是,Like子句有一些缺點:
它們在大型數據集上往往表現不佳。
它們還限制為精確匹配用戶的輸入,這意味著即使實際上存在具有相關信息的記錄,查詢也可能不會產生任何結果。
MySQL中的全文本搜索
為了在MySQL中執行全文搜索,您必須在支持全文搜索的字段中添加FULLTEXT索引。此外,全文索引只能與MyISAM和InnoDB表一起使用。最后,請注意,只能為CHAR、VARCHAR或TEXT列創建全文索引。可以在CREATE TABLE語句中給出FULLTEXT索引定義,或者稍后使用ALTER TABLE或CREATE INDEX命令添加。大型數據集的提示:將數據加載到沒有FULLTEXT索引的表中,然后在加載數據之后創建索引要快得多,而不是先創建FULLTEXT索引然后再加載數據要快得多。
全文搜索分為三種不同的類型:
自然語言全文搜索
布爾全文搜索
查詢擴展搜索
在第2部分中的清單中,我們將依次介紹這些內容。
一個基本的例子
在Sakila樣本數據庫中,電影表包含有關商店電影收藏中每部電影的信息,包括其標題、放映時間和描述。我們可以使用“表單視圖”詳細查看電影表記錄。表單視圖具有完整版本,可讓我們以表單的形式查看、更新、插入或刪除數據,其中當前記錄以詳細信息顯示。還有導航欄,可在記錄之間快速切換。
通過將FULLTEXT索引添加到描述列,我們可以在其上添加全文搜索功能。我們可以發出ALTER TABLE或CREATE INDEX命令,但它是Navicat,有一種更簡單的方法!表設計器包含許多與不同表對象有關的選項卡。其中包括列定義、索引、外鍵、觸發器、選項等。我們可以通過使用“字段選擇器”對話框選擇描述字段,在描述字段上添加全文索引,然后從“索引類型”下拉列表中選擇“全文”:
確保將索引方法留空。
單擊保存按鈕以創建新索引:
結論
現在,我們已經為全文搜索準備了數據庫,我們將在第2部分中學習如何使用全文搜索功能。您可以下載Navicat for MySQL免費版進行評估~
相關內容推薦:
想要購買該產品正版授權,或了解更多產品信息請點擊
1024,慧都致敬程序員們,zend現金優惠券限時放送,只剩最后一天了!!!
本站文章除注明轉載外,均為本站原創或翻譯。歡迎任何形式的轉載,但請務必注明出處、不得修改原文相關鏈接,如果存在內容上的異議請郵件反饋至chenjj@fc6vip.cn