当前位置: 首页 > article >正文

第 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

整体的技术方案如下:


http://www.kler.cn/a/500092.html

相关文章:

  • 【MySQL】SQL菜鸟教程(一)
  • CES Asia 2025科技创新奖申报火热进行中,23家企业积极参与
  • 《拉依达的嵌入式\驱动面试宝典》—操作系统篇(四)
  • 【EI,Scopus检索 | 往届均已检索见刊】第四届智能系统、通信与计算机网络国际学术会议(ISCCN 2025)
  • 基于php的web系统漏洞攻击靶场设计与实践
  • 第十二章 标准库——7.net包
  • MySQL中的事务(如果想知道MYSQL中有关事务的知识,那么只看这一篇就足够了!)
  • python音乐播放器代码整理版
  • 大语言模型训练数据集格式
  • DeepSeek:性能强劲的开源模型
  • Redis集群模式下主从复制和哨兵模式
  • 深入学习 Python 爬虫:从基础到实战
  • git: hint:use --reapply-cherry-picks to include skipped commits
  • STM32如何使用内部晶振作为晶振
  • Spring Framework 5.3.x源码构建 (jdk-1.8, gradle 7.5.1, idea2024.3)
  • 【UE5 C++课程系列笔记】27——多线程基础——ControlFlow插件的基本使用
  • docker 部署Nginx UI
  • 在UE5中使用视差贴图
  • 线程并发下的单例模式
  • 20_Spring Boot默认缓存管理