Elasticsearch 简介
# 0.Elasticsearch 简介
Elaticsearch,简称为 ES, 是一个开源的高扩展的分布式全文检索引擎,它可以近乎实时的存储、检索数据;本身扩展性很好,可以扩展到上百台服务器,处理 PB 级别的数据。
# 什么是 ElasticSearch
ES 是使用 Java 开发的,并使用 Lucene 作为其核心来实现所有索引和搜索的功能,但是它的目的是通过简单的 RESTful (opens new window) API 来隐藏 Lucene 的复杂性,从而让全文搜索变得简单。
我们以连接数据库为类比 Lucene 和 ES :
- Lucene 就相当于 JDBC,是基本的用法。
- ES 就相当 Mybatis, 方便开发人员配置,访问和调用。而且 ElasticSearch 被做成了 webapp 项目,可以用 Tomcat 的应用方式启动,提供了可视化的配置界面,大大简化了工作量。
- 除了 ES,还有一款比较流行的工具是 Solr
# ES 的使用案例
- 2013 年初,GitHub 抛弃了 Solr,采取 ES 来做 PB 级的搜索:A Whole New Code Search | The GitHub Blog (opens new window)
- 维基百科也启动了以 ES 为基础的核心搜索架构
- SoundCloud 使用 ES 为 1.8 亿 用户提供即时而精准的音乐搜索服务 "
- 百度:百度目前广泛使用 ES 作为文本数据分析,采集百度所有服务器上的各类指标数据及用户自定义数据,通过对各种数据进行多维分析展示,辅助定位分析实例异常或业务层面异常。
- 新浪使用 ES 分析处理 32 亿条实时日志
- 阿里使用 ES 构建挖财自己的日志采集和分析体系
# ES 对比 Solr
- Solr 利用 Zookeeper 进行分布式管理,而 ES 自身带有分布式协调管理功能;
- Solr 支持更多格式的数据,而 ES 仅支持 JSON 文件格式;
- Solr 官方提供的功能更多,而 ES 本身更注重于核心功能,高级功能多由第三方插件提供;
- Solr 在传统的搜索应用中表现好于 ES ,但在处理实时搜索应用时效率明显低于 ES
# 我们的学习目标
- 能够理解 ES 的作用
- 能够安装 ES 服务
- 能够理解 ES 的相关概念
- 能够使用 Postman 发送 Restful 请求操作 ES
- 能够理解分词器的作用
- 能够使用 ES 集成 IK 分词器
- 能够完成 ES 集群搭建
- 在 Java 中使用 ES
上次更新: 2024/10/3 10:01:52
- 01
- 中国网络防火长城简史 转载10-12
- 03
- 公告:博客近期 RSS 相关问题10-02