架构设计之ElasticSearch的使用

架构设计之ElasticSearch的使用

Elasticsearch搜索应用场景

  • 监控

    • 服务监控:服务的运行情况、开发自己埋点,通过 Logstash、Flume 等将数据导入 ES 中,然后可以用kibana图形化(柱形图、饼图、折线图等等)的方式显示出来;包括但不限于后台接口运行情况,服务器运行情况,JVM运行情况等等。

    • 数据监控:将原有系统中 MySQL 中的数据通过 logstashinputjdbc 插件导入到 ES 中,并通过 Kibana 进行图形化展示。

  • 缓存

    ES具有极佳的查询能力、数据分析、统计能力,并且支持给每个字段加索引。那么,对于水平切分的数据库(shardDB),对于跨片查询,可以将常用字段同步到ES中,然后用ES查出目标数据,通过目标数据再去DB捞具体的数据。

    比如,一个学校管理系统,有1亿名学生,按照学生ID % 32,放在32片DB中,你要是查询所有平均成绩大于90分,来自于上海男生的姓名;用DB查是一件很可怕的事情。但是用ES查出符合条件的学生ID,再去DB拿学生姓名,就是一件很简单的事情。

  • 文档检索

    此时,ES 的作用类似传统业务系统中的 MySQL、PostgreSQL、Oracle 或者 Mongo 等的基础关系型数据库或非关系型数据库的作用。

    举例说明:使用 ES 对基础文档进行检索操作,如将传统的 word 文档、PDF 文档、PPT 文档等通过 Openoffice 或者 pdf2htmlEX 工具转换为 HTML,再将 HTML 以JSON 串的形式录入到 ES,以对外提供检索服务

  • 数据分析

    借助 ES 强大的全文检索功能实现,如分页查询、各类数据结果的聚合分析、图形化展示(饼图、线框图、曲线图等)。
    举例说明,像那些结合实际业务的场景,如安防领域、金融领域、监控领域等的综合应用。

  • 全文检索

    • 维基百科,类似百度百科,牙膏,牙膏的维基百科,全文检索,高亮,搜索推荐
    • The Guardian(国外新闻网站),类似搜狐新闻,用户行为日志(点击,浏览,收藏,评论)+社交网络数据(对某某新闻的相关看法),数据分析,给到每篇新闻文章的作者,让他知道他的文章的公众反馈(好,坏,热门,垃圾,鄙视,崇拜)
    • Stack Overflow(国外的程序异常讨论论坛),IT问题,程序的报错,提交上去,有人会跟你讨论和回答,全文检索,搜索相关问题和答案,程序报错了,就会将报错信息粘贴到里面去,搜索有没有对应的答案
    • GitHub(开源代码管理),搜索上千亿行代码
    • 电商网站,检索商品
    • 日志数据分析,logstash采集日志,ES进行复杂的数据分析(ELK技术,elasticsearch+logstash+kibana)
    • 商品价格监控网站,用户设定某商品的价格阈值,当低于该阈值的时候,发送通知消息给用户,比如说订阅牙膏的监控,如果高露洁牙膏的家庭套装低于50块钱,就通知我,我就去买
    • BI系统,商业智能,Business Intelligence。比如说有个大型商场集团,BI,分析一下某某区域最近3年的用户消费金额的趋势以及用户群体的组成构成,产出相关的数张报表,区,最近3年,每年消费金额呈现100%的增长,而且用户群体85%是高级白领,开一个新商场。ES执行数据分析和挖掘,Kibana进行数据可视化国内
    • 国内:站内搜索(电商,招聘,门户,等等),IT系统搜索(OA,CRM,ERP,等等),数据分析(ES热门的一个使用场景)

Elasticsearch 与其他中间件对比

  • 与Solr 的区别

  • MongoDB、ElasticSearch、Redis、HBase比较

    • 对数据的读写要求极高,并且你的数据规模不大,也不需要长期存储,选redis;

    • 数据规模较大,对数据的读性能要求很高,数据表的结构需要经常变,有时还需要做一些聚合查询,选MongoDB;

    • 需要构造一个搜索引擎或者你想搞一个看着高大上的数据可视化平台,并且你的数据有一定的分析价值或者你的老板是土豪,选ElasticSearch;

    • 需要存储海量数据,连你自己都不知道你的数据规模将来会增长多么大,那么选HBase。

  • Elasticsearch和Clickhouse对比

  • Elasticsearch对垒8大竞品技术,孰优孰劣?

SpringBoot 整合 Elasticsearch

原文地址:https://www.cnblogs.com/renxiuxing/p/14534642.html