使用FTS索引导出MySQL数据库

时间:2015-01-26 06:26:52

标签: mysql indexing full-text-search

我最近正在迁移MySQL数据库,并发现有关FTS索引的问题。

以下是产生此问题的步骤:

我使用以下命令导出数据库:

mysqldump -p -u username database_name > export.sql

并将其导入:

mysql -p -u username database_name < export.sql 

之后,我在每个需要它们的表上运行FTS索引命令:

ALTER TABLE table_name ADD FULLTEXT(colnames...)

检查这些表的表状态时,记录数是正确的。但是,index_length与原始数据库(我们从中导出的数据库)非常不同。

结果是FTS部分工作(一些字符串匹配但不是全部)。因此,如果我使用&#34; test&#34;这样的字符串进行了MATCH,那么它可以同时使用,但是当我使用#34; hello&#34;等字符串进行MATCH时。 ,它只适用于原始数据库。

这种行为的原因是什么?我非常小心地确保所有表都添加到FTS索引中。这些表每个都有大约150,000条记录。

1 个答案:

答案 0 :(得分:0)

总是这样,不是这样。花费数小时试图解决问题,在StackOverflow上发布的几分钟内,答案就出现了。

所以问题在于sql配置文件中的FTS参数。以前,我删除了停用词列表,并减少了最小字长。忘了将这些参数带到新服务器上。