Elasticsearch Learn

Elasticsearch 简介及原理

1、简介

  • Elasticsearch是一个分布式可扩展的实时搜索和分析引擎。是一个建立在全文搜索引擎Apache Lucene(TM)
    基础上的搜索引擎。Elasticsearch是面向文档型的数据库,一条 数据就是一个文档,用json作为文档序列化的格式。Elasticsearch并不仅仅是Lucene那么简单,它不仅包含了全文搜索功能,还有一下特点:
    • 分布式实时文件存储,并将每一个字段都编入索引,使其可以被搜索
    • 实时分析的分布式搜索引擎
    • 可以扩展到上百台服务器,处理PB级别的结构化和非结构话的数据
    PB(petabyte):高级的存储单元,1PB=1024TB
    结构化数据:即行数据,存储在数据库里,可以用二维表结构来逻辑表达实现的数据
    非结构化数据:不方便用数据库二维逻辑表来表现的数据,包括所有格式的办公文档、文本、图片、XML、HTML、各类报表、图像和音频/视频信息等等

2、Elasticsearch和关系型数据术语对照表

关系数据库 ⇒ 数据库 ⇒ 表 ⇒ 行 ⇒ 列(Columns)
Elasticsearch ⇒ 索引 ⇒ 类型 ⇒ 文档 ⇒ 字段(Fields)

3、Lucene

  • Lucene是一套信息检索工具包,并不包含搜索引擎系统,它包含了索引结构、读写索引工具、相关性工具、排序等功能,因此在使用Lucene时仍需要关注搜索引擎系统,例如数据获取、解析、分词等方面的东西。而solr和elasticsearch都是基于该工具包做的一些封装。

4、Solr

  • Solr是一个高性能,采用Java5开发,基于Lucene的一个独立的企业级搜索应用服务器,它对外提供类似于Web-service的API接口,封装了很多Lucene细节,自己的应用可以直接利用诸如 …/solr?q=abc 这样的HTTP GET/POST请求去查询,维护修改索引。

5、Elasticsearch,Lucene,Solr区别和联系

区别

  • solr利用zookpper进行分布式管理,而elasticsearch自身带有分布式协调管理功能;
  • solr比elasticsearch实现更加全面,solr官方提供的工恩能够更多,而elasticsearch本身更注重于核心功能,高级功能多由第三方插件提供
  • solr在传统的搜索应用中表现好于elasticsearch,而elasticsearch在实时搜索应用方面比solr表现好

联系

  • solr和elasticsearch都是基于Lucene实现的

6、zookpper

  • ZooKeeper是一个分布式的,开放源码的分布式应用程序协调服务,是Google的Chubby一个开源的实现,是Hadoop和Hbase的重要组件。它是一个为分布式应用提供一致性服务的软件,提供的功能包括:配置维护、域名服务、分布式同步、组服务等。其目标就是封装好复杂易出错的关键服务,将简单易用的接口和性能高效、功能稳定的系统提供给用户;

7、倒排索引

*

8、B-Tree索引

*

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值