文件首頁
MySQL 9.0 參考手冊
相關文件 下載本手冊
PDF (US Ltr) - 40.0Mb
PDF (A4) - 40.1Mb
Man Pages (TGZ) - 258.2Kb
Man Pages (Zip) - 365.3Kb
Info (Gzip) - 4.0Mb
Info (Zip) - 4.0Mb


MySQL 9.0 參考手冊  /  ...  /  全文檢索限制

14.9.5 全文檢索限制

  • 全文檢索僅支援 InnoDBMyISAM 資料表。

  • 不支援分割資料表的全文檢索。請參閱 第 26.6 節「分割區的限制和侷限性」

  • 全文檢索可以與大多數多位元組字元集一起使用。例外情況是,對於 Unicode,可以使用 utf8mb3utf8mb4 字元集,但不能使用 ucs2 字元集。雖然不能使用 ucs2 資料行上的 FULLTEXT 索引,但您可以在沒有此類索引的 ucs2 資料行上執行 IN BOOLEAN MODE 搜尋。

    utf8mb3 的備註也適用於 utf8mb4,而 ucs2 的備註也適用於 utf16utf16leutf32

  • 中文和日文等表意語言沒有單字分隔符號。因此,內建全文剖析器無法判斷這些和其他此類語言中單字的開始和結束位置

    提供以字元為基礎的 ngram 全文剖析器,支援中文、日文和韓文 (CJK),以及以單字為基礎的 MeCab 剖析器外掛程式,支援日文,供 InnoDBMyISAM 資料表使用。

  • 雖然支援在單一資料表中使用多個字元集,但 FULLTEXT 索引中的所有資料行都必須使用相同的字元集和校對。

  • MATCH() 資料行清單必須與資料表的某些 FULLTEXT 索引定義中的資料行清單完全相符,除非此 MATCH()MyISAM 資料表上是 IN BOOLEAN MODE。對於 MyISAM 資料表,可以在未索引的資料行上執行布林模式搜尋,但它們可能會很慢。

  • AGAINST() 的引數必須是在查詢評估期間常數的字串值。例如,這排除資料表資料行,因為每個資料列的資料行可能不同。

    MATCH() 的引數不能使用彙總資料行。

  • 對於 FULLTEXT 搜尋,索引提示比非 FULLTEXT 搜尋的索引提示更受限制。請參閱 第 10.9.4 節「索引提示」

  • 對於 InnoDB,所有涉及具有全文索引的資料行的 DML 操作 (INSERTUPDATEDELETE) 會在交易提交時處理。例如,對於 INSERT 操作,插入的字串會被標記化並分解為個別單字。然後,當交易提交時,個別單字會新增至全文索引資料表。因此,全文檢索只會傳回已提交的資料。

  • '%' 字元不是全文檢索支援的萬用字元。