搜尋
首頁資料庫mysql教程mysql布爾文字搜尋教程

mysql布爾文字搜尋教程

May 12, 2017 pm 02:18 PM
mysql教學

MySQL支援全文本搜尋的另一種形式,稱為布林方式(booleanmode)。以布林方式,可以提供關於如下內容的細節:

要匹配的詞;

1.要排斥的詞(如果某行包含這個詞,則不回傳該行,即使它包含其他指定的詞也是如此);

2.排列提示(指定某些詞比其他詞更重要,更重要的詞等級更高);

#3 .表達式分組;

4.另外一些內容。

即使沒有 FULLTEXT 索引也可以使用 布林方式不同於迄今為止使用的全文本搜尋語法的地方在於,即使沒有定義FULLTEXT 索引,也可以使用它。但這是一種非常緩慢的操作(其效能將隨著資料量的增加而降低)。

為示範IN BOOLEAN MODE 的作用,舉一個簡單的例子:

#輸入:

select note_text from productnotes where match(note_text) against('anvils' in boolean mode);

輸出:

mysql布爾文字搜尋教程

分析:此全文本搜尋會擷取包含字詞heavy 的所有行(有兩行)。其中使用了關鍵字 IN BOOLEAN MODE ,但實際上沒有指定布林操作符,因此,其結果與沒有指定布林方式的結果相同。

IN BOOLEAN MODE 的行為差異 雖然這個例子的結果與沒有IN BOOLEAN MODE 的相同,但其行為有一個重要的差別(即使在這個特殊的例子沒有表現出來)。

為了符合包含heavy 但不包含任意以rope 開始的字的行,可使用下列查詢:

輸入:

select note_text from productnotes where match(note_text) against('heavy -rope' in boolean mode);

輸出:

mysql布爾文字搜尋教程

分析:這次只回傳一行。這次仍然匹配詞 heavy ,但 -rope* 明確地指示MySQL排除包含 rope* (任何以 rope 開始的詞,包括ropes )的行,這就是為什麼上一個例子中的第一行被排除的原因。

在MySQL 4.x中所需的程式碼變更 如果你使用的是MySQL4.x,則上面的範例可能不會傳回任何行。這是 * 操作符處理中的一個錯誤。為在MySQL 4.x中使用這個例子,使用 -ropes 而不是 -rope* (排除 ropes 而不是排除任何以 rope 開始的詞)。

我們已經看到了兩個全文本搜尋布林操作符 - 和 * ,-排除一個詞,而 *是截斷操作符(可想像為用於詞尾的一個通配符)。下表列出支援的所有布林操作符。

mysql布爾文字搜尋教程

以下舉幾個例子,說明某些運算子如何使用:

#輸入:

select note_text from productnotes where match(note_text) against('+rabbit +bait' in boolean mode);

分析:這個搜尋符合包含詞rabbit 和bait 的行。

輸入:

select note_text from productnotes where match(note_text) agains('rabbit bait' in boolean mode);

分析:沒有指定操作符,這個搜尋符合包含 rabbit 和 bait 中的至少一個字的行。

輸入:

select note_text from productnotes where match(note_text) agains('"rabbit bait"' in boolean mode);

分析:這個搜尋符合短語 rabbit bait 而不是匹配兩個字 rabbit 和bait 。

輸入:

select note_text from productnotes where match(note_text) agains(&#39;>rabbit <bcarrot&#39; in boolean mode);

分析:配對 rabbit 和 carrot ,增加前者的等級,降低後者的等級。

輸入:

select note_text from productnotes where match(note_text) agains(&#39;+safe +(<combination)&#39; in boolean mode);

分析:這個搜尋匹配詞 safe 和 combination ,降低後者的等級。

排列而不排序 在布林方式中,不依等級值降序排序回傳的行。

以上是mysql布爾文字搜尋教程的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
如何識別和優化MySQL中的慢速查詢? (慢查詢日誌,performance_schema)如何識別和優化MySQL中的慢速查詢? (慢查詢日誌,performance_schema)Apr 10, 2025 am 09:36 AM

要優化MySQL慢查詢,需使用slowquerylog和performance_schema:1.啟用slowquerylog並設置閾值,記錄慢查詢;2.利用performance_schema分析查詢執行細節,找出性能瓶頸並優化。

MySQL和SQL:開發人員的基本技能MySQL和SQL:開發人員的基本技能Apr 10, 2025 am 09:30 AM

MySQL和SQL是開發者必備技能。 1.MySQL是開源的關係型數據庫管理系統,SQL是用於管理和操作數據庫的標準語言。 2.MySQL通過高效的數據存儲和檢索功能支持多種存儲引擎,SQL通過簡單語句完成複雜數據操作。 3.使用示例包括基本查詢和高級查詢,如按條件過濾和排序。 4.常見錯誤包括語法錯誤和性能問題,可通過檢查SQL語句和使用EXPLAIN命令優化。 5.性能優化技巧包括使用索引、避免全表掃描、優化JOIN操作和提升代碼可讀性。

描述MySQL異步主奴隸複製過程。描述MySQL異步主奴隸複製過程。Apr 10, 2025 am 09:30 AM

MySQL異步主從復制通過binlog實現數據同步,提升讀性能和高可用性。 1)主服務器記錄變更到binlog;2)從服務器通過I/O線程讀取binlog;3)從服務器的SQL線程應用binlog同步數據。

mysql:簡單的概念,用於輕鬆學習mysql:簡單的概念,用於輕鬆學習Apr 10, 2025 am 09:29 AM

MySQL是一個開源的關係型數據庫管理系統。 1)創建數據庫和表:使用CREATEDATABASE和CREATETABLE命令。 2)基本操作:INSERT、UPDATE、DELETE和SELECT。 3)高級操作:JOIN、子查詢和事務處理。 4)調試技巧:檢查語法、數據類型和權限。 5)優化建議:使用索引、避免SELECT*和使用事務。

MySQL:數據庫的用戶友好介紹MySQL:數據庫的用戶友好介紹Apr 10, 2025 am 09:27 AM

MySQL的安裝和基本操作包括:1.下載並安裝MySQL,設置根用戶密碼;2.使用SQL命令創建數據庫和表,如CREATEDATABASE和CREATETABLE;3.執行CRUD操作,使用INSERT,SELECT,UPDATE,DELETE命令;4.創建索引和存儲過程以優化性能和實現複雜邏輯。通過這些步驟,你可以從零開始構建和管理MySQL數據庫。

InnoDB緩衝池如何工作,為什麼對性能至關重要?InnoDB緩衝池如何工作,為什麼對性能至關重要?Apr 09, 2025 am 12:12 AM

InnoDBBufferPool通過將數據和索引頁加載到內存中來提升MySQL數據庫的性能。 1)數據頁加載到BufferPool中,減少磁盤I/O。 2)臟頁被標記並定期刷新到磁盤。 3)LRU算法管理數據頁淘汰。 4)預讀機制提前加載可能需要的數據頁。

MySQL:初學者的數據管理易用性MySQL:初學者的數據管理易用性Apr 09, 2025 am 12:07 AM

MySQL適合初學者使用,因為它安裝簡單、功能強大且易於管理數據。 1.安裝和配置簡單,適用於多種操作系統。 2.支持基本操作如創建數據庫和表、插入、查詢、更新和刪除數據。 3.提供高級功能如JOIN操作和子查詢。 4.可以通過索引、查詢優化和分錶分區來提升性能。 5.支持備份、恢復和安全措施,確保數據的安全和一致性。

與MySQL中使用索引相比,全表掃描何時可以更快?與MySQL中使用索引相比,全表掃描何時可以更快?Apr 09, 2025 am 12:05 AM

全表掃描在MySQL中可能比使用索引更快,具體情況包括:1)數據量較小時;2)查詢返回大量數據時;3)索引列不具備高選擇性時;4)複雜查詢時。通過分析查詢計劃、優化索引、避免過度索引和定期維護表,可以在實際應用中做出最優選擇。

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脫衣器

AI Hentai Generator

AI Hentai Generator

免費產生 AI 無盡。

熱門文章

R.E.P.O.能量晶體解釋及其做什麼(黃色晶體)
3 週前By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.最佳圖形設置
3 週前By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.如果您聽不到任何人,如何修復音頻
3 週前By尊渡假赌尊渡假赌尊渡假赌
WWE 2K25:如何解鎖Myrise中的所有內容
3 週前By尊渡假赌尊渡假赌尊渡假赌

熱工具

WebStorm Mac版

WebStorm Mac版

好用的JavaScript開發工具

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

SublimeText3 英文版

SublimeText3 英文版

推薦:為Win版本,支援程式碼提示!

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

DVWA

DVWA

Damn Vulnerable Web App (DVWA) 是一個PHP/MySQL的Web應用程序,非常容易受到攻擊。它的主要目標是成為安全專業人員在合法環境中測試自己的技能和工具的輔助工具,幫助Web開發人員更好地理解保護網路應用程式的過程,並幫助教師/學生在課堂環境中教授/學習Web應用程式安全性。 DVWA的目標是透過簡單直接的介面練習一些最常見的Web漏洞,難度各不相同。請注意,該軟體中