Elasticsearch的入门篇(一) - 介绍

前言

最近在学习Elasticsearch,在这里记录下自己的学习过程,以便于加深记忆,并希望可以帮助大家更好的理解Elasticsearch。
现在官方已经出了中文文档了,如果你想快速的学习使用Elasticsearch可以继续浏览此篇博客及后续博客,如果你想系统学习Elasticsearch,还是建议大家去看官方权威文档,地址:Elasticsearch: 权威指南


Elasticsearch关键字

分布式、高可用、高性能、可伸缩、近实时、搜索引擎、分析引擎、开箱即用。


什么是Elasticsearch?

Elasticsearch是分布式、高可用、高性能、可伸缩、近实时的搜索引擎和分析引擎。


Elasticsearch的使用场景

站内搜索:CSDN、Github、博客园、知乎。
互联网搜索:百度、维基百科。
IT系统:OA系统、CRM系统。


Elasticsearch为什么会火?它解决了哪些的问题?

目前,每行每业所产生的数据每年都在剧增,当数据达到亿、十亿、百亿,选用什么样的数据库存储?怎么保证数据安全?如何解决单点故障?如何去快速的检索数据,怎样去做数据的统计分析?

传统数据库采取分库分表来尽量满足大量数据的存储及搜索。通过主从备份来保证数据的安全。通过中间件进行心跳监控来解决单点故障问题。分库分表通过路由分析SQL分发到指定节点进行数据搜索、汇总。

Elasticsearch通过分片,备份进行数据存储,以及保证数据安全。通过节点竞选机制保证节点故障的问题解决。通过路由将请求分发到各个节点,各个节点将信息反馈给路由,由路由节点进行合并汇总,然后将结果返回。

Elasticsearch使用Lucene作为核心来实现所有索引和搜索的功能,使得每个文档的内容都可以被索引、搜索、排序、过滤。同时,提供了丰富的聚合功能,可以对数据进行多维度分析。

传统数据库为特定列增加一个索引,例如B-Tree索引来加速检索。Elasticsearch和Lucene使用一种叫做倒排索引的数据结构来达到相同目的。

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

Elasticsearch默认每个字段都是建立倒排索引,这也是Elasticsearch为什么在大数据搜索上比传统数据库快了不止一个量级的原因。所以Elasticsearch更加适合大数据的检索。

当然Elasticsearch默认每个字段都是建立倒排索引也不是一点缺点都没有的,毕竟天下没有免费的午餐,大量创建倒排索引所带来的后果就是要消耗很大的磁盘、内存空间,当内容更新后,索引的维护代价也比较大。


下一篇 >> Elasticsearch的入门篇(二) - 部分概念

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值