带有全文搜索通配符的MySql MyIsam表

时间:2015-05-26 10:36:44

标签: mysql wildcard myisam full-text-indexing

我使用两个具有相同列的不同存储引擎创建了两个表: table1(id,col1,col2)MyIsam table2(id,col1,col2)innodb 每个表包含1700000

我在2个表中为(col1,col2)创建了全文索引 我有两个关键字,我需要提取包含它们的结果: '学校'和'公共汽车' 我正在使用通配符来提取它们 select * from table1 where match(col1,col2)against('+ scho * + bus *')

  • 表示完整的截断词
  • 意思是
table1(MyIsam)中的

结果不正确, 共计26573,查询耗时0.0009秒 行包含任何关键字'school'或'bus'

表2中的

(innodb)结果是正确的, 总共369,查询花了0.0420秒 行包含两个单词'school'和'bus'

任何人都可以帮助我吗?

1 个答案:

答案 0 :(得分:1)

我通过在+之前放置空格来解决这个问题 匹配(col1,col2)对('+ scho * + bus *')

但我有另一个问题,如果我想通过任何关键字搜索任何东西,它都无法显示, 如果我按关键字搜索“学校” 匹配(col1,col2)对('+ chool ') 0行