16-使用ES的原因以及ES的倒排索引概念
使用ES的原因
- 响应时间
- mysql
- 当数据库中数据仅为上万条时,关键词查询就比较慢了
- es
- 基于倒排索引的,因此检索速度得到了量级的提升
- mysql
- 分词
- mysql
- 组合词检索在数据库是很难完成的
- es
- 因为支持中文分词插件,所以很好地解决了问题
- mysql
- 相关性
- mysql
- 数据库并不支持相关性搜索.
- es
- 支持全文搜索和相关度评分;这样在返回结果就会根据分数由高到低排列,分数越高,意味着和查询语句越相关
- mysql
ES的倒排索引
- 传统的我们的检索是通过文章,逐个遍历找到对应关键词的位置
- 而倒排索引,是通过分词策略,形成了词和文章的映射关系表,这种词典+映射表即为倒排索引
- 有了倒排索引,就能实现O(1)时间复杂度的效率检索文章,极大的提高了检索效率