第 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

整体的技术方案如下:

相关推荐
木棉软糖7 小时前
5 步确认 TiDB 历史抽数的 Logstash 有没有真的写进 ES
elasticsearch·oracle·tidb
全栈陈序员12 小时前
【Git】从入门到精通(十一)—— git reset 三种模式详解
git·elasticsearch
Elasticsearch12 小时前
Elasticsearch:稠密向量字段类型
elasticsearch
全栈陈序员1 天前
【Git】从入门到精通(五)—— git add:将文件加入暂存区
大数据·git·elasticsearch
全栈陈序员1 天前
【Git】从入门到精通(七)—— git status:查看仓库状态
大数据·git·elasticsearch
fengye2071611 天前
第三章 编译cpython
大数据·elasticsearch·搜索引擎
Elasticsearch1 天前
使用 Qoder 将 CSV 文件导入 Elasticsearch
elasticsearch
Elastic 中国社区官方博客1 天前
AgentHack Shanghai|基于阿里云AI搜索 Elasticsearch x Qoder 构建AI Agent应用
大数据·人工智能·elasticsearch·搜索引擎·阿里云·云计算·全文检索
无言听风雨丶1 天前
Kubernetes GitOps 持续交付实战:用 Argo CD 让 Git 成为集群事实源
git·elasticsearch·kubernetes
全栈陈序员2 天前
【Git】从入门到精通(六)—— git commit:提交到版本库
大数据·git·elasticsearch