不管是谷歌、百度、必应、搜狗为代表的自然语言处理、爬虫、网页处理、大数据处理的全文搜索引擎,还是有明确搜索目的的搜索行为,如各大电商网站、OA、站内搜索、视频网站的垂直搜索引擎,他们或多或少都使用到了ES。
可以看到 Lucene 为倒排索引部分又增加一层 Term Index 结构,用于快速定位,而这 Term Index 是缓存在内存中的,但 MySQL 的 B+tree 不在内存中,所以整体来看 ES 速度更快,但同时也更消耗资源。
本文对 ES 的核心概念进行了全面的梳理与阐述,相信大家对于 ES 有了初步的了解,下篇文章中再带大家好好理解下 ES 的核心业务流程的原理以及优秀的设计思想,只有理解了 ES 的核心概念以及核心流程,那么在生产中遇到一些搜索优化、节点 JVM 优化等才会有对应的排查方向,另外 ES 中的一些优秀的设计思想,也是非常值得我们学习的,当我们在设计软件平台的时候有时可以借鉴这些优秀的设计思想。
还是惯例,开头先放章节目录,如果有帮到你的地方,欢迎点赞关注转发,如有错误,欢迎指出,不胜感激。在深一层次来看,首先查看content字段的类型,通过查看上面的创建索引语句可以知道,content字段定义的是text类型,所以Elasticsearch会对content字段进行分词检索,返回文档中出现es的,除了上面这种写法外还可以使用如下几种方式进行检索。