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