MySQL全文搜尋簡介

2019-10-16 22:55:31

在本教學中,我們將向您介紹MySQL全文搜尋及其功能。

MySQL支援使用LIKE運算子和正規表示式進行文字搜尋。但是,當文字列較大並且表中的行數增加時,使用這些方法有一些限制:

  • 效能問題:MySQL必須掃描整個表以根據正規表示式中的LIKE語句或模式中的模式查詢確切的文字。
  • 靈活搜尋:使用LIKE運算子和正規表示式搜尋,很難進行靈活的搜尋查詢,例如,查詢描述包含car但不是classic的產品。
  • 相關性排名:沒有辦法指定結果集中的哪一行與搜尋字詞更相關。

由於這些限制,MySQL擴充套件了一個非常好的功能,叫作全文搜尋。從技術上講,MySQL從啟用的全文搜尋列的單詞中建立一個索引,並對該索引進行搜尋。 MySQL使用複雜的演算法來確定與搜尋查詢匹配的行。

以下是MySQL全文搜尋的一些重要功能:

  • 本地SQL類介面:使用類似SQL的語句來使用全文搜尋。
  • 完全動態的索引:當該列的資料發生變化時,MySQL會自動更新文字列的索引。
  • 適度的索引大小:它不需要太多的記憶體來儲存索引。
  • 最後一個是,基於複雜的搜尋查詢快速搜尋。

請注意,並非所有儲存引擎都支援全文搜尋功能。在MySQL 5.6或更高版本中,只有MyISAMInnoDB儲存引擎支援全文搜尋。