ElasticSearch菜鸟笔记(⼀)ElasticSearch⼊门简介
前⾔
ElasticSearch 是⼀个⾼可⽤开源全⽂检索和分析组件。提供存储服务,搜索服务,⼤数据准实时分析等。⼀般⽤于提供⼀些提供复杂搜索的应⽤。
ElasticSearch 提供了⼀套基于restful风格的全⽂检索服务组件。前⾝是compass,直到2010被⼀家公司接管进⾏维护,开始商业化,并提供了ElasticSearch ⼀些相关的产品,包括⼤家⽐较熟悉的 kibana、logstash 以及 ElasticSearch 的⼀些组件,⽐如 安全组件shield 。当前最新的EElasticSearch 版本为 5.1.1 ,⽐较应⽤⼴泛的为2.X,直到 2016-12 推出了5.x 版本 ,将版本号调为 5.X 。这是为了和 kibana 和 logstash 等产品版本号进⾏统⼀ ElasticSearch 。
准实时:ElasticSearch 是⼀个准实时的搜索⼯具,在⼀般情况下延时少于⼀秒。
javascript和mysql菜鸟教程特点
⽀持物理上的⽔平扩展,并拥有⼀套分布式协调的管理功能
2.操作简单
i:单节点的ES,安装启动后,会默认创建⼀个名为elasticsearch的es集。如果在局域⽹中存在该clustr.name,会⾃动加⼊该集。形成⼀个ElasticSearch 集 。
ii:多节点ES,在同⼀个局域⽹内的ES服务,只需要配置为同⼀个clust.name 名称即可成为
⼀个ES集。集能够将同⼀个索引的分⽚,⾃动分布到各个节点。并在⾼效的提供查询服务的同时,⾃动协调每个节点的下线以及上线情况。
vue源码泄露
提供了⼀套关于索引以及状态查看的restful风格接⼝。⾄于什么是Restful风格服务,请移步
谈谈到底什么是rest风格架构设计?
对⽐Solr
Solr与ES都是基于java/lucence来做⼀套⾯向⽂档结构的Nosql结构的数据库。
1.分布式
solr 分布式 需要结合zookeeper 来实现,ES ⾃⾝有相关分布式协调。
2.⽀持的数据结构
solr⽀持 xml json html 等多种数据结构,⽽ES 仅⽀持json这种结构。
3.性能
solr在新建索引时是IO阻塞的,所以如果在新建索引时同时进⾏搜索这时候相⽐ES来的相对较快。所以在实时性上,ElasticSearch 相⽐还是更好的选择。
对⽐MongoDB
手机json解析MongoDB与ES都是⼀种Nosql结构的处理⽅式,故在这⾥也进⾏⼀些⽐较
1.分布式
MongoDB⽀持副本集的集⽅式,⽽ES同样⽀持分布式结构
2.数据结构
MongoDB⽀持json⽅式,这点与ES也是⼀样。MongoDB同样还⽀持 Grid ⽅式来存放多媒体⽂档,这点Es是不⽀持的。
3.事务性
在这点上MongoDB和ES倒是有点类似,都没有对于强事务的⽀持。虽然MongoDB⼿册中有两阶段的⽅式来⽀持多个⽂档的操作事务的⽀持,但是⼀般情况都好像没有使⽤到。
从⼈的认知系统来说,总是倾向于的将⼀些未知和陌⽣的事物联系到⾃⾝已经有的知识系统上,或者实例化到实际⽣活中某个场景。我们会经常看到⼀些‘helloworld’程序结合⽣活中的实例来理解,也是这个道理。这⾥为了我们更好的理解 ElasticSearch 这样⼀个全⽂检索的⼯具
联系到之前常⽤的关系型数据库Mysql
基本概念
Index
Type
定义:类似于mysql中的table,根据⽤户需求每个index中可以新建任意数量的type。
Document
定义:对应mysql中的row。有点类似于MongoDB中的⽂档结构,每个Document是⼀个json格式的⽂本。
Mapping
更像是⼀个⽤来定义每个字段类型的语义规范在mysql中类似sql语句,在ES中经过包装后,都被封装为友好的Restful风格的接⼝进⾏操作。这⼀点也是为什么开发⼈员更愿意使⽤ES或者compass这样的框架⽽不是直接使⽤Lucene的⼀个原因。
Shards & Replicas
定义:能够为每个索引提供⽔平的扩展以及备份操作。
描述:
Shards:在单个节点中,index的存储始终是有限制,并且随着存储的增⼤会带来性能的问题。为了解决这个问题,ElasticSearch提供⼀个能够分割单个index到集各个节点的功能。你可以在新建这个索引时,⼿动的定义每个索引分⽚的数量。
Replicas:在每个node出现宕机或者下线的情况,Replicas能够在该节点下线的同时将副本同时⾃动
java单机游戏下载分配到其他仍然可⽤的节点。⽽且在提供搜索的同时,允许进⾏扩展节点的数量,在这个期间并不会出现服务终⽌的情况。
默认情况下,每个索引会分配5个分⽚,并且对应5个分⽚副本,同时会出现⼀个完整的副本【包括5个分配的副本数据】。
⾔⽽总之,⽤⼀句话来总结下。ElasticSearch 是⼀个基于 lucence 可⽔平扩展的⾃动化近实时全⽂搜索服务组件。
js数组扁平化flat总结参考⽂档:
>instrument组词

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。