elasticsearch使用场景一般适用于哪些?为什么?

TheDisguiser 2020-06-26 16:50:39 java常见问答 9097

上回我们说完了elasticsearch的原理及基本用法,问题来了,小伙伴们知道elasticsearch一般适用哪些场景吗?为什么呢?本篇文章就带你详细了解了解。

一、使用elasticsearch及现有工具

在某些特殊情况下,我们可以不必写一行代码就能通过elasticssearch完成一项工作。实际上很多工具都可以与Elasticsearch一起工作,所以我们大可不必从头开始编写。

如:假设要我们部署一个大规模的日志框架存储,搜索,并分析了大量的事件。

如下图,处理日志和输出到Elasticsearch,我们可以使用日志记录工具,如rsyslog,Logstash,或Apache Flume。

elasticsearch使用场景

二、使用Elasticsearch为后端

在以前的传统项目中,搜索引擎一般都是部署在成熟的数据存储的顶部,用以提供快速且相关的搜索能力。这是因为早期的搜索引擎不能够提供耐用的存储或其他经常所需的功能,如图:

elasticsearch使用场景

而Elasticsearch则是提供了持久存储、统计等多项强大功能的现代搜索引擎。

举例如下:构建一个新的博客系统使用es作为存储。

1)、我们可以向ES提交新的博文;

2)、我们可以使用ES检索、搜索、统计数据。

ES作为存储优势:

如果一台服务器出现故障时会发生什么?你可以通过复制数据到不同的服务器以达到容错的目的。

PS: 在整体架构设计时,需要我们权衡是否有必要增加额外的存储。

三、使用elasticsearch在现有系统中

由于ES是不能够提供存储的所有功能的,所以在一些场景下就需要在现有系统数据存储的基础上新增ES来进行支持。

elasticsearch使用场景

例:ES不支持事务、复杂的关系,如果你的系统中需要上述特征的支持,需要考虑在原有架构、原有存储的基础上的新增ES的支持。

以上就是关于elasticsearch适用场景的所有内容,你知道为什么了吧。小伙伴们如果还想要了解更多java架构师信息的话,请记得关注本网站了解详情。

推荐阅读:

elasticsearch原理是什么?该如何使用?

elasticsearch面试题及答案详解,java常见面试题

elasticsearch集群安装搭建及部署该怎么配置?