有一个表包含一个很短的中文字符串字段(最多20个汉字)。现在需要对这个字段做全文检索,返回此字段包含关键词的记录,我能想到几种方法: 1. 用like语句:select * from mytable where field like "%keyword%'. 缺点:效率太低,索引用不上。 2. 建立FULLTEXT索引,用match() against语句检索。缺点:要求是MyISAM引擎,而且对中文支持不好,需要预先分词。 3. 将字段中的关键词提取出来,建立一个多对多的关系表:记录-关键词,查询关键词,通过外键找到记录。缺点:关键词表开始时难于建立。 4. 用高大上的全文检索引擎Lucence、Sphinx等等,感觉有点小题大作。 各位过来人说说哪个方法最好? 补充:现在这个表大概10万条记录,将来可能达百万条。