Linux 技术手札

MySQL 的 Full-text Search

MySQL 使用 Full-text Search (全文检索), MySQL 会自动为资料建立索引, 及在资料变更时重新建立索引。以前 Full-text Search 只支援 MyISAM, 并不支援 InnoDB, 由 MySQL 5.6 开始 InnoDB 及 MyISAM 也都支援 Full-text Search 了, 支援的字段类型有 CHAR, VARCHAR 及 TEXT。

MySQL 在建立资料表时可以用 FULLTEXT 定义索引, 如果现有资料表上, 也可以用 ALTER TABLE 或者 CREATE INDEX 完成。

以下是在 MySQL 建立资料表时用 FULLTEXT 定义索引的例子:

上面建立的 table_name 资料表, 用 FULLTEXT 建立 title 及 content 字段的全文索引, 字段与字段之间用逗号分隔。

在现在资料表上要定义全文索引, 可以用 ALTER TABLE 或 CREATE INDEX, 以下是 ALTER TABLE 的用法:

ALTER TABLE table_name ADD FULLTEXT(title,content);

上面会在 table_name 资料表加入 title 及 content 字段的全文索引。

至于要移除全文索引, 可以用 DROP INDEX 语句, 例如:

ALTER TABLE table_name DROP INDEX title;

以上会移除 table_name 资料表的 title 索引。

Exit mobile version