mysql数据库的索引问题

我在Mysql数据库里有一张文章表,表中有文章标题,文章内容,文章分类,作者,发表时间等字段,
面试官问我,在前端的搜索框里输入文章内容的有关的关键词,来查找对应的文章,怎么对文章表的文章内容字段建立索引, 来加快查找速度,我说在文章内容字段上加建立索引啊,他说如果直接对文章内容字段建立索引,查找的速度也是比较慢的,因为文章内容的字数很多,他问怎么对文章内容字段建立索引来加快查找文章的速度,我当时没答上来,小白请各位大神来解答哈??很感激你们!

没有这种索引,这种场景适合分词搜索

mysql的myisam引擎的fulltext类型的索引可以处理这个场景

首先,文章一旦发布,内容应该很少变动。你在文章内容列创建全文索引,创建一张表记录每天搜索内容的热点数据,并将关键字查询的数据指向你的文章表。
这样每次在搜索查询时候,连表查询,若没数据,此时在使用文章内容的全文索引,若找到数据,则更新你的记录表,这样无论是速度都会有所提高,若不能满足你的需要,可以mysql 外再使用 ES

mysql 支持全文索引,虽然不是很强但是基本业务操作是可以的。
如果还想继续优化。可以再用个临时表,记录下通过全文索引常被命中的数据 id ,和记录常搜索的关键字,以后搜索优先查询 这张表,这样效率会更好。