01.Elasticsearch应用(一)

Elasticsearch应用(一)

1.什么是ELK

ELK是一个免费开源的日志分析架构技术栈总称,包含三大基础组件,分别是Elasticsearch、Logstash、Kibana。但实际上ELK不仅仅适用于日志分析,它还可以支持其它任何数据搜索、分析和收集的场景,日志分析和收集只是更具有代表性。并非唯一性

2.什么是Elastic Stack

介绍

Elastic Stack是由ELK演化而来,在发展的过程中,又有新成员Beats与Elastic Cloud的加入,形成了Elastic Stack,所以说,ELK是旧的称呼,Elastic Stack是新的名字
01.Elasticsearch应用(一)_第1张图片

01.Elasticsearch应用(一)_第2张图片
https://img-blog.csdnimg.cn/20200605203832785.jpg?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzQxMTA2ODQ0,size_16,color_FFFFFF,t_70#pic_center

Elasticsearch

Elasticsearch是使用Java开发,基于Lucene、分布式、通过Restful方式进行交互的近实时搜索平台框架。它的特点有:分布式,零配置,自动发现,索引自动分片,索引副本机制,restful风格接口,多数据源,自动搜索负载等

Logstash

Logstash 基于Java开发,是一个数据抽取转化工具。一般工作方式为c/s架构,client端安装在需要收集信息的主机上,server端负责将收到的各节点日志进行过滤、修改等操作在一并发往Elasticsearch或其他组件上去

Kibana

Kibana基于nodejs,也是一个开源和免费的可视化工具。Kibana可以为Logstash和ElasticSearch提供的日志分析友好的Web界面,可以汇总、分析和搜索重要数据日志

Beats

Beats平台集合了多种单一用途数据采集器。它们从成百上千或成千上万台机器和系统向Logstash或Elasticsearch发送数据

Elastic cloud

基于Elasticsearch的软件即服务(SaaS)解决方案。通过Elastic 的官方合作伙伴使用托管的Elasticsearch服务

3.搜索基础知识

数据分类

  • 结构化数据:固定格式,有限长度,比如MySQL存储的数据
  • 非结构化数据:不定长,无固定格式,比如邮件,word文档,日志
  • 半结构化数据:前两者结合,比如XML,HTML

搜索分类

  • 结构化数据搜索:使用关系型数据库
  • 非结构化数据搜索:顺序扫描,全文检索

全文检索

全文检索就是检索非结构化数据的方式,全文检索通过倒排索引加快搜索效率

通过一个程序扫描文本里的每一个单词,针对单词建立索引,并保存该单词在文本中的位置,以及出现的次数

用户查询时,通过之前建立好的索引来查询,将索引中单词对应的文本位置,出现的次数返回给用户,因为有了具体文本的位置,所以就可以将具体内容读取出来了

倒排索引

倒排索引。数据存储时,经行分词建立term索引库

倒排索引源于实际应用中需要根据属性的值来查找记录。这种索引表中的每一项都包括一个属性值和具有该属性值的各记录的地址。由于不是由记录来确定属性值,而是由属性值来确定记录的位置,因而称为倒排索引(inverted index)。带有倒排索引的文件我们称为倒排索引文件,简称倒排文件(inverted file)

简单理解:索引就类似于目录,平时我们使用的都是索引,都是通过主键定位到某条数据,那么倒排索引呢,刚好相反,数据对应到主键

01.Elasticsearch应用(一)_第3张图片

01.Elasticsearch应用(一)_第4张图片
01.Elasticsearch应用(一)_第5张图片

4.什么是Lucene

01.Elasticsearch应用(一)_第6张图片

5.搜索引擎技术排名

01.Elasticsearch应用(一)_第7张图片

6.Elasticsearch初识

介绍

01.Elasticsearch应用(一)_第8张图片

起源

起源:Shay Banon。2004年失业,陪老婆去伦敦学习厨师。失业在家帮老婆写一个菜谱搜索引擎。封装了Lucene的开源项目,compass。找到工作后,做分布式高性能项目,再封装compass,写出了Elasticsearch,使得Lucene支持分布式。现在是Elasticsearch创始人兼Elastic首席执行官

ES版本特性

01.Elasticsearch应用(一)_第9张图片
01.Elasticsearch应用(一)_第10张图片
01.Elasticsearch应用(一)_第11张图片
01.Elasticsearch应用(一)_第12张图片

应用场景

  • 站内搜索
  • 日志管理与分析
  • 大数据分析
  • 应用性能监控
  • 机器学习

特点

  1. 可拓展性: 大型分布式集群(数百台服务器)技术,处理PB级数据,大公司可以使用。小公司数据量小,也可以部署在单机。大数据领域使用广泛
  2. 部署简单: 开箱即用,很多默认配置不需关心,解压完成直接运行即可。拓展时,只需多部署几个实例即可,负载均衡、分片迁移集群内部自己实施
  3. 接口简单: 使用Restful api经行交互,跨语言
  4. 功能强大: Elasticsearch作为传统数据库的一个补充,提供了数据库所不不能提供的很多功能,如全文检索,同义词处理,相关度排名

ES VS Solr

  • Solr利用Zookeeper进行分布式管理,而ES自身带有分布式协调功能
  • Solr支持更多格式的数据,比如JSON,XML,CSV,而ES支持JSON
  • Solr在传统的搜索应用中表现好于ES,但在处理实时搜索应用时效率明显低于ES
  • Solr是传统搜索应用的有力解决方案,但ES更适用于新兴的实时搜索应用

你可能感兴趣的:(搜索引擎,elasticsearch,大数据,搜索引擎)