Navicat使用教程:在MySQL中執行全文搜索(第2部分)
Navicat for MySQL 是一套管理和開發 MySQL 或 MariaDB 的理想解決方案。使用Navicat for MySQL可以同時連接到 MySQL 和 MariaDB。Navicat for MySQL提供了強大的前端功能,為數據庫管理、開發和維護提供了直觀的圖形界面。對新手和專業人士來說,Navicat for MySQL都是管理和開發 MySQL 或 MariaDB的強大工具。
在第1部分中,我們了解了MySQL如何通過全文索引以及三種不同類型的全文搜索提供全文搜索功能。在今天的文章中,我們將學習如何在Navicat for MySQL中執行自然語言全文搜索。
自然語言全文搜索的定義
自然語言全文搜索的思想是尋找與自然人類語言查詢相關的文檔(行),例如“自然語言全文搜索如何工作?”。如果您曾經使用過像Google這樣的互聯網搜索引擎,這就是它的工作方式!
使用零加正浮點數確定相關性,其中零表示沒有相似性。相關性可以基于各種因素,包括文檔中單詞的數量、文檔中唯一單詞的數量、集合中單詞的總數以及包含特定單詞的文檔(行)的數量。
MySQL自然語言全文搜索示例
在MySQL中,使用MATCH()和AGAINST()函數執行自然語言全文搜索。MATCH()函數指定要搜索的列,而AGAINST()函數確定要使用的搜索表達式。
Sakila樣例數據庫代表一個虛構的DVD出租店。電影表包含有關商店集合中每部電影的相關信息。列包括電影的標題、發行年份、放映時間和描述。這是Navicat的“表單視圖”中的示例行。它允許您以表格的形式查看、更新、插入或刪除數據,其中當前記錄顯示為字段名稱及其值:
索引描述列
為了以全文本模式搜索描述字段,我們首先必須在表上創建全文索引。我們可以在Navicat中輕松地做到這一點,如下所示:
在表設計器中打開描述表
選擇索引選項卡。
單擊添加索引按鈕。
讓我們將新索引稱為“idx_description”。
在字段文本框中,選擇描述列。
從“索引類型”下拉列表中選擇“全文”:
將Index方法保留為空白,因為全文索引不需要此方法。
最后,單擊“保存”按鈕以創建索引。
查詢時間!
讓我們打開查詢編輯器并編寫一個查詢,該查詢將查找其描述包含短語“Database Administrator”的行。Navicat可以通過建議字段名稱甚至我們需要的功能來幫助我們組成查詢:
這是短語“數據庫管理員”的最終查詢和結果。關于DBA的電影數量驚人地多!
查看分數
如上所述,使用零加正浮點數確定相關性,其中零表示沒有相似性。我們可以通過將MATCH()和AGAINST()函數添加到列列表中來查看每個記錄的分數,例如:
這將有助于我們確定最接近的比賽的起點。
結論
在今天的文章中,我們學習了如何在Navicat for MySQL中執行自然語言全文搜索。
本教程內容到這里就完結啦,感興趣的朋友可以繼續關注我們,我們會不斷更新相關內容!您也可以下載Navicat for MySQL免費版進行評估~
相關內容推薦:
想要購買該產品正版授權,或了解更多產品信息請點擊