第 32 章 - Elasticsearch 的应用场景与技术解决方案

思维导图

0. 简介

Elasticsearch 主要应用于搜索场景。场景的如 应用内的搜索框、还有日志搜索等。

下面将介绍 Elasticsearch 在开发中的常见应用场景。

1. 日志搜索

日志搜索是最常见的应用。

其组合技术为:Kafka、Logstash、Elasticsearch、Kibana

该组合整体的技术方案如下:

值得一提的是,对于一些日志量特别大的公司,已经把 Elasticsearch 更换为其他的 NoSql。典型的如 ClickHouse

2. 应用内搜索

应用内搜索 App 中随处可见。

其组合技术为:Mysql、DTS(Canal、Debezium、云厂商服务)、MQ(Kafka)、Elasticsearch

对于单表,我们一般不会借助 MQ,而是直接将数据写入 Elasticsearch。该组合整体的技术方案如下:

对于复杂的多表同步,一般会将消息打入 MQ,然后在 Application 侧组装消息,最后再写入 Elasticsearch

需要一提的是,DTS 国内用得多的是 Canal,不过国际主流应该是 Debezium。

现在业内对于这种数据同步需求,也有公司在使用 Flink CDC

对于这种数据异构,我们需要特别注意数据的一致性问题,该问题将会在下一篇讲述。

3. Elasticsearch 作为二级索引

Elasticsearch 除了 Text 字段,其他字段默认都开启 doc_values,也就是我们常说的正排索引,正排索引是基于列式存储,因此在查询、排序、聚合等查询性能上会比 Mysql 优秀。

因此在业务中,我们碰到复杂的查询会借助 Elasticsearch 或其他 NoSQL 构建二级索引。

其组合技术为:Mysql、DTS(Canal、Debezium、云厂商服务)、Elasticsearch

整体的技术方案如下:

4. 运营后台管理系统查询

运营后台管理系统,往往是非常复杂的条件查询。对应这种,非常常见的是将运营所需要的数据异构到 Elasticsearch,借助 Elasticsearch 提供复杂条件查询

其组合技术为:Mysql、DTS(Canal、Debezium、云厂商服务)、Elasticsearch

整体的技术方案如下:

相关推荐
摇滚侠3 小时前
ElasticSearch 教程入门到精通,文档创建查询修改删除,笔记10、11、12
笔记·elasticsearch
jason成都7 小时前
elasticsearch部署时创建用户密码
大数据·elasticsearch·jenkins
摇滚侠9 小时前
ElasticSearch 教程入门到精通,文档新增修改,文档查询删除,文档批量新增批量删除,笔记21、笔记22、笔记23
笔记·elasticsearch·搜索引擎
醇氧9 小时前
【git】 撤回一个本地提交
大数据·git·elasticsearch
Elastic 中国社区官方博客9 小时前
Elasticsearch:数据脱节如何破坏现代调查
大数据·数据库·人工智能·elasticsearch·搜索引擎·ai·全文检索
摇滚侠10 小时前
ElasticSearch 教程入门到精通,JavaAPI 环境搭建,索引创建,索引查询删除,笔记18、笔记19、笔记20
大数据·笔记·elasticsearch
摇滚侠15 小时前
ElasticSearch 教程入门到精通,测试工具、倒排索引、索引创建查询删除,笔记6、7、8、9
大数据·笔记·elasticsearch
若水不如远方15 小时前
告别 RestHighLevelClient:Elasticsearch Java 新客户端实战与源码浅析
java·elasticsearch
武子康16 小时前
大数据-177 Elasticsearch 聚合实战:指标聚合 + 桶聚合完整用法与 DSL 解析
大数据·后端·elasticsearch
码农阿豪16 小时前
用 Rust 构建 Git 提交历史可视化工具
git·elasticsearch·rust