大数据实时检索场景化解决方案-ElasticSearch

ElasticSearch简介
• ElasticSearch是一个高性能,基于Lucene的全文检索服务,是一个分布式的Restful风格的搜索和数据分析引擎,也可以作为NoSQL数据库使用。
• 对Lucene进行了扩展
• 原型环境和生产环境可无缝切换
• 能够水平扩展
• 支持结构化和非结构化数据
• ElasticSearch对Lucene 进行了扩展,提供了比Lucene更为丰富的查询语言,同时实现了可配置、可扩展,并对查询性能进行了优化,还提供了一个完善的功能管理界面。
• 原型环境和生产环境可无缝切换;无论ElasticSearch是在一个节点上运行,还是在一个包含300节点的集群上运行,都能够以相同的方式与ElasticSearch进行通信。
• 它能够水平扩展,每秒钟可处理海量事件,同时能够自动管理索引和查询在集群中的分布方式,以实现极其流畅的操作。
• 支持数字、文本、地理位置、即结构化和非结构化数据。
• Lucene 是apache软件基金会一个开放源代码的全文检索引擎工具包,是一个全文检索引擎的架构,提供了完整的查询引擎和索引引擎,部分文本分析引擎。Lucene的目的是为软件开发人员提供一个简单易用的工具包,以方便的在目标系统中实现全文检索的功能,或者是以此为基础建立起完整的全文检索引擎(搜索引擎和检索程序库不完全等同)。
• lucene,最先进、功能最强大的搜索库,直接基于lucene开发,非常复杂,api复杂(实现一些简单的功能,写大量的java代码),需要深入理解原理(各种索引结构)。elasticsearch,基于lucene,隐藏复杂性,提供简单易用的restful api接口、java api接口

ElasticSearch特点
• 高性能/速度
• 能立即获得搜索结果。我们通过有限状态转换器实现了用于全文检索的倒排索引,实现了用于存储数值数据和地理位置数据的 BKD 树,以及用于分析的列存储。由于每个数据都被编入了索引,就不必担心某些数据没有索引。
• 可扩展性
• 可以在笔记本电脑上运行。也可在承载了 PB 级数据的成百上千台服务器上运行。
• 原型环境和生产环境可无缝切换;无论是在一个节点上运行,还是在一个包含 300 个节点的集群上运行,您都能够以相同的方式与 Elasticsearch 进行通信。
• 能够水平扩展,每秒钟可处理海量事件,同时能够自动管理索引和查询在集群中的分布方式,以实现极其流畅的操作。
• 相关度
• 搜索所有内容。找到所需的具体信息。基于各项元素(从词频或近因到热门度等)对搜索结果进行排序。将这些内容与功能进行混合和匹配,以对向用户显示结果的方式进行微调。Elasticsearch 功能齐全,可以处理包括各种复杂情况(例如拼写错误)在内的人为错误。
• 可靠性 /弹性
• 硬件故障。网络分割。Elasticsearch 为您检测这些故障并确保您的集群(和数据)的安全性和可用性。跨集群复制功能,辅助集群可作为热备份随时投入使用。Elasticsearch 运行在一个分布式的环境中,从设计之初就考虑到了这一点,目的就是让您永远高枕无忧。

ElasticSearch应用场景
• 用于日志搜索和分析、时空检索、时序检索、智能搜索等场景。
• 检索的数据类型复杂:如需要查询的数据有结构化数据、半结构化数据、非结构化数据等,ElasticSearch可以对以上数据类型进行清洗、分词、建立倒排索引等一系列操作,然后提供全文检索的能力。
• 检索条件多样化:全文检索条件可以包括词或短语。
• 边写边读:写入的数据可以实时的进行检索。
• 结构化数据(关系型数据库等)、半结构化数据(网页、XML等)、非结构化数据(日志、图片、图像等)
• 一系列操作指建立索引
• 检索条件多样化如涉及字段太多;全文检索(查询)可以包括词和短语,或者词或短语的多种形式。
• 检索或者说查询。
• 时空检索,针对时空数据:
• 时空数据是同时具有时间和空间维度的数据,现实世界中的数据超过80%与地理位置有关。
• 时空大数据包括时间、空间、专题属性三维信息,具有多源、海量、更新快速的综合特点。
• 时序检索,针对是时序数据:
• 时序数据是指时间序列数据。时间序列数据是同一统一指标按时间顺序记录的数据列。在同一数据列中的各个数据必须是同口径的,要求具有可比性。时序数据可以是时期数,也可以时点数。时间序列分析的目的是通过找出样本内时间序列的统计特性和发展规律性,构建时间序列模型,进行样本外预测。
• 传感器数据,温度等。

ElasticSearch生态圈
在这里插入图片描述
• 插件扩展层:
• Logstash:具备实时数据传输能力的管道,着重日志相关处理;负责将数据信息从管道的输入端传输到管道的输出端;支持灵活根据自己的需求在中间加上滤网,Logstash提供里很多功能强大的滤网以满足你的各种应用场景
• Kibana;开源的分析和可视化平台,数据主要由es提供;基于es的搜索与分析能力,拿到用于上层分析和可视化需要的结果;开发者或运维人员可以轻松地执行高级数据分析,并在各种图表、表格和地图中可视化数据。
• Beats:专门用于发送数据的平台,可以将数据无缝传输给logstash或是es;轻量级代理机制安装,类似于hadoop集群安装时候的ambari或cdh manager;可将数以百千计算机中的数据发送到logstash或是es中。
• es-hadoop:一个深度集成Hadoop和es的项目,是es官方维护的一个子项目;可以达到hadoop与es之间的输入与输出;重点是充分利用Map-Reduce的并行计算优势,为hdfs数据提供实时搜索能力。
• es-sql:用sql来操作es,来代替之前需要写各种复杂的json查询才可解决的问题;es-sql目前有两个版本,第一,是多年前即开始的国内主推开源的nlpchina/es-sql插件,第二,是自2018.06官方es6.3.0发布后正式支持的es-sql功能。
• elasticsearch-head:将是一款专门针对于elasticsearch的客户端工具,是一个界面化的集群操作和管理工具,可以对集群进行傻瓜式操作,是一个基于node.js的前端工程,
• Bigdesk:是elasticsearch的一个集群监控工具,可以通过它来查看es集群的各种状态,如:cpu、内存使用情况,索引数据、搜索情况,http连接数等。

ElasticSearch整体结构
在这里插入图片描述
• Clusterÿ

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值