搜尋
首頁資料庫mysql教程mysql全文本搜尋使用教學課程

mysql全文本搜尋使用教學課程

May 12, 2017 pm 02:18 PM
mysql使用教程

在索引之後,使用兩個函數 Match() 和 Against() 執行全文本搜索,其中 Match() 指定被搜尋的列, Against() 指定要使用的搜尋表達式。

以下舉例:

輸入:

select note_text from productnotes where match(note_text) against('rabbit');

#輸出:

mysql全文本搜尋使用教學課程

分析:此SELECT語句檢索單一列note_text 。由於 WHERE 子句,一個全文本搜尋被執行。 Match(note_text) 指示MySQL針對指定的欄位進行搜索, Against('rabbit') 指定字詞 rabbit 作為搜尋文字。由於有兩行包含詞 rabbit ,這兩個行被傳回。

使用完整的 Match() 說明 傳遞給 Match() 的值必須與FULLTEXT() 定義中的相同。如果指定多個列,則必須列出它們(而且次序正確)。

搜尋不區分大小寫 除非使用 BINARY 方式,否則全文本搜尋不區分大小寫。

事實是剛才的搜尋可以簡單地用LIKE 子句完成,如下所示:

輸入:

select note_text from productnotes where note_text like '%rabbit';

輸出:

mysql全文本搜尋使用教學課程

分析:這個SELECT 語句同樣檢索出兩行,但次序不同(雖然不總是出現這種情況)。

上述兩個 SELECT 語句都不包含 ORDER BY 子句。後者(使用 LIKE )以不特別有用的順序傳回資料。前者(使用全文本搜尋)傳回以文字比對的良好程度排序的資料。兩個行都包含字 rabbit ,但包含字 rabbit 作為第3個字的行的等級比作為第20個字的行高。這很重要。全文本搜尋的一個重要部分就是對結果進行排序。具有較高等級的行先返回(因為這些行很可能是你真正想要的行)。

為示範排序如何運作,請看以下範例:

#輸入:

select note_text match(note_text) against('rabbit') as rank from productnotes;

輸出:

mysql全文本搜尋使用教學課程

mysql全文本搜尋使用教學課程

#分析:這裡,在SELECT 而不是WHERE 子句中使用Match() 和Against() 。這使所有行都被傳回(因為沒有 WHERE 子句)。 Match() 和 Against()用來建立一個計算列(別名為 rank ),此列包含全文本搜尋計算出的等級值。等級由MySQL根據行中詞的數目、唯一詞的數目、整個索引中詞的

總數以及包含該詞的行的數目計算出來。如所見,不包含單字 rabbit 的行等級為0(因此不被前一範例中的 WHERE 子句選擇)。確實包含詞 rabbit的兩個行每行都有一個等級值,文本中詞靠前的行的等級值比詞靠後的行的等級值高。

這個範例有助於說明全文本搜尋如何排除行(排除那些等級為0的行),如何排序結果(依等級以降序排序)。

排序多個搜尋項 如果指定多個搜尋項,則包含多數匹配詞的那些行將具有比包含較少詞(或僅有一個匹配)的那些行高的等級值。

###如所見,全文本搜尋提供了簡單 LIKE 搜尋無法提供的功能。而且,由於資料是索引的,全文本搜尋還相當快。 ###

以上是mysql全文本搜尋使用教學課程的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
如何在MySQL中刪除或修改現有視圖?如何在MySQL中刪除或修改現有視圖?May 16, 2025 am 12:11 AM

todropaviewInmySQL,使用“ dropviewifexistsview_name;” andTomodifyAview,使用“ createOrreplaceViewViewViewview_nameAsSelect ...”。 whendroppingaview,asew dectivectenciesanduse和showcreateateviewViewview_name;“ tounderStanditSsstructure.whenModifying

MySQL視圖:我可以使用哪些設計模式?MySQL視圖:我可以使用哪些設計模式?May 16, 2025 am 12:10 AM

mySqlViewScaneFectectialized unizedesignpatternslikeadapter,Decorator,Factory,andObserver.1)adapterPatternadaptSdataForomDifferentTablesIntoAunifiendView.2)decoratorPatternenhancateDataWithCalcalcualdCalcalculenfields.3)fieldfields.3)

在MySQL中使用視圖的優點是什麼?在MySQL中使用視圖的優點是什麼?May 16, 2025 am 12:09 AM

查看InMysqlareBeneForsImplifyingComplexqueries,增強安全性,確保dataConsistency,andOptimizingPerformance.1)他們simimplifycomplexqueriesbleiesbyEncapsbyEnculatingThemintoreusableviews.2)viewsEnenenhancesecuritybyControllityByControllingDataAcces.3)

如何在MySQL中創建一個簡單的視圖?如何在MySQL中創建一個簡單的視圖?May 16, 2025 am 12:08 AM

toCreateAsimpleViewInmySQL,USEthecReateaTeviewStatement.1)defitEtheetEtheTeViewWithCreatEaTeviewView_nameas.2)指定usethectstatementTorivedesireddata.3)usethectStatementTorivedesireddata.3)usetheviewlikeatlikeatlikeatlikeatlikeatlikeatable.views.viewssimplplifefifydataaccessandenenanceberity but consisterfort,butconserfort,consoncontorfinft

MySQL創建用戶語句:示例和常見錯誤MySQL創建用戶語句:示例和常見錯誤May 16, 2025 am 12:04 AM

1)foralocaluser:createUser'localuser'@'@'localhost'Indidendify'securepassword'; 2)foraremoteuser:creationuser's creationuser'Remoteer'Remoteer'Remoteer'Remoteer'Remoteer'Remoteer'Remoteer'Remoteer'Rocaluser'@'localhost'Indidendify'seceledify'Securepassword'; 2)

在MySQL中使用視圖的局限性是什麼?在MySQL中使用視圖的局限性是什麼?May 14, 2025 am 12:10 AM

mysqlviewshavelimitations:1)他們不使用Supportallsqloperations,限制DatamanipulationThroughViewSwithJoinsOrsubqueries.2)他們canimpactperformance,尤其是withcomplexcomplexclexeriesorlargedatasets.3)

確保您的MySQL數據庫:添加用戶並授予特權確保您的MySQL數據庫:添加用戶並授予特權May 14, 2025 am 12:09 AM

porthusermanagementinmysqliscialforenhancingsEcurityAndsingsmenting效率databaseoperation.1)usecReateusertoAddusers,指定connectionsourcewith@'localhost'or@'%'。

哪些因素會影響我可以在MySQL中使用的觸發器數量?哪些因素會影響我可以在MySQL中使用的觸發器數量?May 14, 2025 am 12:08 AM

mysqldoes notimposeahardlimitontriggers,butacticalfactorsdeterminetheireffactective:1)serverConfiguration impactactStriggerGermanagement; 2)複雜的TriggerSincreaseSySystemsystem load; 3)largertablesslowtriggerperfermance; 4)highConconcConcrencerCancancancancanceTigrignecentign; 5); 5)

See all articles

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

北端:融合系統,解釋
1 個月前By尊渡假赌尊渡假赌尊渡假赌
Mandragora:巫婆樹的耳語 - 如何解鎖抓鉤
4 週前By尊渡假赌尊渡假赌尊渡假赌
<🎜>掩蓋:探險33-如何獲得完美的色度催化劑
2 週前By尊渡假赌尊渡假赌尊渡假赌

熱工具

ZendStudio 13.5.1 Mac

ZendStudio 13.5.1 Mac

強大的PHP整合開發環境

SecLists

SecLists

SecLists是最終安全測試人員的伙伴。它是一個包含各種類型清單的集合,這些清單在安全評估過程中經常使用,而且都在一個地方。 SecLists透過方便地提供安全測試人員可能需要的所有列表,幫助提高安全測試的效率和生產力。清單類型包括使用者名稱、密碼、URL、模糊測試有效載荷、敏感資料模式、Web shell等等。測試人員只需將此儲存庫拉到新的測試機上,他就可以存取所需的每種類型的清單。

Atom編輯器mac版下載

Atom編輯器mac版下載

最受歡迎的的開源編輯器

MinGW - Minimalist GNU for Windows

MinGW - Minimalist GNU for Windows

這個專案正在遷移到osdn.net/projects/mingw的過程中,你可以繼續在那裡關注我們。 MinGW:GNU編譯器集合(GCC)的本機Windows移植版本,可自由分發的導入函式庫和用於建置本機Windows應用程式的頭檔;包括對MSVC執行時間的擴展,以支援C99功能。 MinGW的所有軟體都可以在64位元Windows平台上運作。

MantisBT

MantisBT

Mantis是一個易於部署的基於Web的缺陷追蹤工具,用於幫助產品缺陷追蹤。它需要PHP、MySQL和一個Web伺服器。請查看我們的演示和託管服務。