第 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

整体的技术方案如下:

相关推荐
risc1234562 小时前
【Elasticsearch】Search Templates(搜索模板)
elasticsearch
元气满满的热码式12 小时前
logstash中的input插件(http插件,graphite插件)
网络·网络协议·http·elasticsearch·云原生
silianpan13 小时前
文档检索服务平台
elasticsearch·搜索引擎·开源
(; ̄ェ ̄)。13 小时前
在nodejs中使用ElasticSearch(二)核心概念,应用
大数据·elasticsearch·搜索引擎
boy快快长大14 小时前
【Elasticsearch】同一台服务器部署集群
服务器·elasticsearch·jenkins
一个儒雅随和的男子14 小时前
Elasticsearch除了用作查找以外,还能可以做什么?
大数据·elasticsearch·搜索引擎
跳跳的向阳花16 小时前
06、ElasticStack系列,第六章:elasticsearch设置密码
大数据·elasticsearch·jenkins
Elastic 中国社区官方博客1 天前
Elasticsearch Open Inference API 增加了对 Jina AI 嵌入和 Rerank 模型的支持
大数据·人工智能·elasticsearch·搜索引擎·ai·全文检索·jina
隔壁老王1561 天前
mysql实时同步到es
数据库·mysql·elasticsearch
SunnyRivers1 天前
关于ES中text类型时间字段范围查询的结构化解决方案
elasticsearch·时间·text·范围查询