理解elasticsearch
思考:如果我们要做一个通过关键词搜索文章的功能,需要搜索哪些字段,以及使用什么技术方案呢?
搜索字段:
-
标题
-
内容
-
作者
技术方案:
-
mysql的模糊查询
%like%
-
优点:实现起来简单
-
缺点:数据量比较大的情况下,查询效率极低
-
-
全文检索引擎
-
-
缺点:实现起来比较复杂
-
elasticsearch介绍文章参考:https://developer.51cto.com/art/201904/594615.htm
感谢 channingbreeze 的分享
要点整理:
- 反向索引又叫倒排索引,是根据文章内容中的关键字建立索引。
- 搜索引擎原理就是建立反向索引。
- Elasticsearch 在 Lucene 的基础上进行封装,实现了分布式搜索引擎。
- Elasticsearch 中的索引、类型和文档的概念比较重要,类似于 MySQL 中的数据库、表和行。
- Elasticsearch 也是 Master-slave 架构,也实现了数据的分片和备份。
- Elasticsearch 一个典型应用就是 ELK 日志分析系统。