ElasticSearch 介绍
ElasticSearch 是一个基于 JSON 的分布式搜索和分析引擎。
特点:
- 通过 RESTful API 交互
- 基于 Lucene
- 面向文档
- 近乎实时
- 分布式
- 高扩展
- 搜索
- 分析
应用:
- 搜索分析应用
- 日志应用
版本变化:
截止 V1.5.2 版本,O2使用的 ES 版本是 7.5.2
与 ElasticSearch 交互
- 外部通过 RESTful API with JSON over HTTP 在 9200 端口
- 内部通过 9300 端口使用 ES 原生传输协议
- 虽然有 Kibana、ES Head 等插件,但平时因为需要管理的 ES 实例很多,所以会通过 Postman ,为不同的环境建立环境变量,然后统一管理。
O2 使用现状
应用的业务:
- 商品搜索(首页搜索框、类别选择、筛选条件)
- 联想词搜索(首页搜索框提示)
- 收藏夹搜索
- 订单搜索
应用 ES 的功能:
- 多租户索引
- 使用别名实现零停机
- 索引使用静态映射
- 第三方分词器 IK Analyzer
选择 ES 的理由
- ES 开箱即用,绝大部分默认配置都是最优选择
- 除文本搜索外,ES 处理分析查询更加优秀
- ES 拥有更好的伸缩性和分布式性
- ES 在开源日志管理用例中占据主导地位
- ES 暴露更多监控的关键指标