Elasticsearch入门知识介绍

本文介绍了Elasticsearch作为一个分布式、高性能、高可用的搜索和分析引擎,对比了它与传统数据库搜索的差异,并详细阐述了Elasticsearch的分布式特性、文档、索引、类型、节点、分片和副本等核心概念,帮助读者理解其工作原理和优势。
摘要由CSDN通过智能技术生成

在学习Elasticsearch之前,需要先了解一下Elasticsearch的相关介绍,在学习了学院的教学视频之后,本文罗列总结涉及到的基础知识,希望有所帮助。

一.什么是Elasticsearch?

ElasticSearch是一个分布式,高性能、高可用、可伸缩的搜索和分析系统。

怎么理解这个概念呢,首先让我们先从“搜索”开始,对比一下百度搜索和数据库搜索的差异。假设我们要搜索一个“小米手机专用券”:

(1)数据库搜索:通过查询语句,搜索“小米手机专用券”关键字,但是会存在数据量过百万或亿级时性能下降明显;

另外数据库搜索只能通过严格的关键字进行搜索,无法将关键字拆分进行搜索,例如搜索“小米专用券”时就无法正确搜索出来了。

(2)百度搜索:这里既可以通过“小米手机专用券”关键字搜索,也可以通过“小米专用券”等拆分后的关键字进行搜索,而且搜索速度通常非常快。

这两点是普通数据库搜索所不能比拟的。

而ElasticSearch正如百度一样,属于一个近实时的搜索引擎(平台),因此在搜索这一块有非常好的应用价值。

说到搜索我们就很容易和Lucene进行对比,Lucene是一个jar包,这个包封装好的各种建立倒排索引,以及进行搜索的代码,包括各种算法,这些工具代码可以让我们使用java就能很方便开发相关的搜索服务,但是Lucene是单机的模式,如果你的数据量超过了一台物理机的容量就需要扩容,将数据拆分成若干份放在不同的集群中,同时还需要拷贝容错,机器宕机,数据一致性等复杂的场景,这个实现就比较复杂了。 
而ElasticSearch解决了这些问题 
1、自动维护数据的分布到多个节点的索引的建立,还有搜索请求分布到多个节点的执行 
2、自动维护数据的冗余副本,保证了一旦机器宕机,不会丢失数据 
3、封装了更多高级的功能,例如聚合分析的功能,基于地理位置的搜索 

因此再回过头来思考ElasticSearch的分布式,高性能、高可用、可伸缩概念,就相对容易多了,正如上面所介绍的,ElasticSearch本身就是一个自带了分布式架构的搜索产品。

二.什么是 Elastic Stack
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值