MySQL全文本搜索:启用全文本搜索支持

一般在创建表时启用全文本搜索。 create table 语句接受 fulltext 子句,它给出被索引列的一个逗号分隔的列表。

下面的 CREATE 语句演示了 FULLTEXT 子句的使用:

输入:

create table productnotes  (  note_id      int                    NOT NULL AUTO_INCREMENT,  prod_id      char(10)               NOT NULL,  note_date  datetime                 NOT NULL,  note_text   text                    NULL,  primary key(note_id),  FULLTEXT(note_text)  )ENGINE = MyISAM;

分析:这些列中有一个名为 note_text 的列,为了进行全文本搜索,mysql根据子句 FULLTEXT(note_text) 的指示对它进行索引。这里的FULLTEXT 索引单个列,如果需要也可以指定多个列。

在定义之后,MySQL自动维护该索引。在增加、更新或删除行时,索引随之自动更新。

可以在创建表时指定 FULLTEXT ,或者在稍后指定(在这种情况下所有已有数据必须立即索引)。

不要在导入数据时使用 FULLTEXT 更新索引要花时间,虽然不是很多,但毕竟要花时间。如果正在导入数据到一个新表,此时不应该启用 FULLTEXT 索引。应该首先导入所有数据,然后再修改表,定义 FULLTEXT 。这样有助于更快地导入数据(而且使索引数据的总时间小于在导入每行时分别进行索引所需的总时间)。

© 版权声明
THE END
喜欢就支持一下吧
点赞12 分享