第 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

整体的技术方案如下:

相关推荐
历程里程碑12 小时前
链表--LRU缓存
大数据·数据结构·elasticsearch·链表·搜索引擎·缓存
尽兴-13 小时前
Elasticsearch 入门全景:核心概念与典型应用场景速览
大数据·elasticsearch·搜索引擎·全文检索·高性能·elastic stack·分布式生态
php_kevlin13 小时前
git提交限制规范
大数据·git·elasticsearch
尽兴-13 小时前
Elasticsearch 8.14.3 安装部署实战:Windows/Linux + Kibana + 常用插件
linux·windows·elasticsearch·kinana·es 浏览器插件
凸头14 小时前
后过滤召回塌陷:Redis 先召回 → ES 再过滤,如果全部被过滤掉怎么办?
数据库·redis·elasticsearch
Elastic 中国社区官方博客14 小时前
使用 Elasticsearch Inference API 结合 Hugging Face 模型
大数据·人工智能·elasticsearch·搜索引擎·ai·全文检索
凸头14 小时前
四种向量检索架构对比:RedisSearch、ES 与混合架构选型分析
大数据·elasticsearch·架构
margu_1682 天前
【Elasticsearch】es7.2 跨集群迁移大量数据方法二
elasticsearch
恼书:-(空寄2 天前
深入理解 Elasticsearch 写入与查询机制
大数据·elasticsearch·搜索引擎
Elastic 中国社区官方博客2 天前
快速 vs. 准确:衡量量化向量搜索的召回率
大数据·人工智能·elasticsearch·搜索引擎·ai·全文检索