一.elasticserch简介

一.elasticserch概念与特点(有弹性的可伸缩的搜索)

百度百科,,官网www.elastic.co

特点:  1.distributed(分布式的),scalable(可扩展的,新的节点不用复杂配置),and highly available(高可用)

               2.real-time(实时的,) search and analytics capabilities  实时搜索分析能力

               3.sophisticated(复杂的) restful api

apache 2 open source license

总结:一个采用restful api 标准的高扩展性和高可用性的实时数据分析的全文搜索工具。

    高扩展性:体现在elasticserch添加节点非常简单,基本新的节点无需做复杂的配置,接入elasticsearch的集群就可以了,自动就会被发现

    高可用性:因为elasticserch是分布式的 ,每一个节点都有这个备份,所以down一两个节点是不会有问题的

    实时:实时搜索,同时支持pb级的大数据的搜索能力,从索引一个文档到这个文档能够被搜索到只有轻微的延迟,通常是一秒

elasticserch概念:

   node(节点),,单个装有elasticsearch服务并且提供故障转移和扩展的服务器

   cluster(集群),,一个集群就是有一个获多个node组织在一起,共同工作,共同分享整个数据具有负载均衡功能的集群。注:elasticsearch各个节点都是对等的关系,可以去中心话,master节点只不过是多了一个维护集群状态的功能 ,每个节点上面的状态和数据都是实时同步的。如果master出现故障,其他node就能顶上去成为新的master.

   document(文档),,一个文档是一个可被索引的基础信息单元。

   index(索引),,索引就是一个拥有几分相似特性的文档的集合。

   type(类型),,一个索引中,你可以定义一种获多种类型。

   field(列),,field是elasticsearch的最小单位,相当于数据的某一列。

   shards(分片),,elasticsearch将索引分成若干份,每个部分就是一个shard,水平分割和拓展数据的容量,提高了io性能的吞吐量.(一个索引的大小可能会超过单个节点的大小,且数据量大单个节点处理的搜索请求的响应肯定会很慢。)shard在索引创建的时候就可以定义,默认5份,索引创建完后就改不了了。

    replicas(复制),,replicas是索引一份或多分拷贝。(为了防止数据丢失和做负载均衡)

 

elasticsearch可以将其看作一个数据库,对比如下图:

elasticsearch是非关系型数据库,非关系型数据库是相对于关系型数据库而言的,它存储的是非结构化的数据,非结构化的数据就是我们平常接触倒的文本,图像,音频等。结构化的数据就是数字符号,结构化的数据得用关系型数据库去存储。

 

 

elasticsearch结构:

 

gateway:是elasticsearch支持的索引数据的存储格式,当elasticsearch关闭再启动的时候,它就会从gateway里面读取索引数据

distributed lucene directory:lucene框架,elasticsearch就是基于lucene这个框架而写的。

index Module(index模块)、search Module(搜索模块)、mapping、river为elasticsearch对数据的加工处理方式。

   mapping:定义索引下面type字段的处理规则,比如索引如何建立,还有索数据类型等等。相当于关系型数据中的schema.

   river为运行在elasticsearch集群内部的插件。主要是用来从外部获取异构数据。然后在elasticsearch里面创建索引。常见的 插件有RabbitMQ River还有Twitter River。

Discovery是elasticsearch自动发现节点和master节点选举的机制。(elasticsearch是基于p2p的系统,它首先通过广播的机制寻找存在的节点,然后再通过这个多播协议来进行节点间的通信。同时也支持点对点的交互。)

scripting:elasticsearch的脚本执行功能,能很方便的对查询出来的数据进行加工处理。

3rd plugins:elasticsearch支持安装很多第三方的插件。因为elasticsearch社区的支持力度是比较大的,会有很多中插件提供给用户使用。如中文分词,状态监控插件。

transport:elasticsearch交互方式,默认elasticsearch使用http协议传输。

JMX:

RESTful style API:elasticsearch的API支持模式。(restful这样的api接口是非常流行的。)

JAVA(NETTY):

 

 

 

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值