ElasticSearch入门介绍之会当凌绝顶(一)

ElasticSearch也是一款非常优秀的开源的全文检索框架,以大名鼎鼎的Apache Lucene为基础,高度封装了更丰富,易用的API,同时与Apache Solr一样,提供了非常强大的分布式集群功能! 有不懂ElasticSearch(下文简称es)是干啥的朋友,可以点此链接在百科上先大致了解下。 下面进入正题,本篇散仙先从宏观上介绍es的一些概念和特性,让大家能够对es整体有个认识,后续,散仙会写一些怎么安装,部署,调优,使用,集群等 es和lucene,solr一样,都是无模式的基于列式的存储格式,这和大多数的NoSQL数据库是一样的,非常灵活,下面我们通过一张图,来看下关系型数据库映射到es里面,对应的名词关系:

了解这个之后,我们对es的认识就会更加清晰明了,下面我们看下es自身的一些优势和功能: 1,一个基于分布式的Restful的搜索引擎 2,高可用 3,每份索引是基于配置冲的一个shard 4,每个shard可以有一个或多个副本 5,读操作自动负载到任何一个副本 6,多租户和多Type的 7,支持多于一种索引(类似数据库) 8,一个索引又支持多种type(类似表) 9,灵活的索引配置,分片数,存储类型 10,多种多样的set的api接口 11,基于http的restful的api 12,完美支持本地原生Java api 13,所有的api操作,支持自动路由转发 14,面向Document的存储模式 15,动态的数据类型配置,无须提前定义 16,schema可以给每个type进行定制化操作 17,长久的高可靠,异步的写支持 18,近实时的搜索效果(注意是近实时,不是实时) 19,基于Apache Luecene 20,每个shard都是一个功能齐全的lucene索引 21,所有的lucene功能在es里都可以通过简单的配置和插件进行实现 22,保证操作一致性 23,单个doc(相当于关系型数据库里的一行数据)级别的操作,支持A(原子的),C(一致的),I(隔离的),D(持久的)特性 24,完全基于Lucene开源的企业级全文检索框架

不同的读写场景支持: es是一个高可靠的,分布式的搜索引擎,每份超大的索引被拆分成多个shards,每一个shard支持一个或多个副本,默认情况下,一份大的索引拆分成5个shards,每个shard又有一个副本(5/1),当然,我们也可以根据自己的情况配置适合我们的拓扑结构,,包括1个shard,10个副本(1/10),支持读多写少的场景,或者20个shard,一个备份,支持写多,读少的场景,当然在我们搜索时,会是类似一个map,reduce的过程,多个map检索,最后在一个reduce进行合并结果。 为了支持es的分布式的特性,每个shard会部署在一个或多个node(机器节点)上,支持启动和关闭,只要确保我们写正确了http端口,系统就会继续接受请求,为我们查询最近一次的索引的数据

原文发布于微信公众号 - 我是攻城师(woshigcs)

原文发表时间:2014-12-26

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏快乐八哥

PHP+MySQL代码部署在Linux(Ubuntu)上注意事项

最近帮同学做一个网站,同学买的是阿里云服务器,Linux发行版是Ubuntu12.04。我在本地把程序写好,都调试好了。然后他让我自己发布和部署。之前在大学里上...

472100
来自专栏CodeSheep的技术分享

Elastic Search搜索引擎在SpringBoot中的实践

21950
来自专栏java一日一条

数据库的读写分离

读写分离,基本的原理是让主数据库处理事务性增、改、删操作(INSERT、UPDATE、DELETE),而从数据库处理SELECT查询操作。数据库复制被用来把事务...

18730
来自专栏同步博客

Memcached与MySQL数据同步

  在生产环境中,我们经常使用MySQL作为应用的数据库。但是随着用户的增多数据量的增大,我们将会自然而然的选择Memcached作为缓存数据库,从而减小MyS...

18220
来自专栏从流域到海域

《笨办法学Python》 第46课手记

《笨办法学Python》 第46课手记 这节课制作了一个Python的项目骨架,花了我一个晚上和一个早上的时间,原因是我下载的pdf里面只有OX S的命令行,而...

25760
来自专栏数据库

MY SQL 的读写分离

每日一句 去过的地方越多,越知道自己想回到什么地方去。见过的人越多,越知道自己真正想待在什么人身边. from 夏正正 MY SQL 读写分离 1...

35580
来自专栏同步博客

搭建MySQL高可用负载均衡集群

  使用MySQL时随着时间的增长,用户量以及数据量的逐渐增加,访问量更是剧增,最终将会使MySQL达到某个瓶颈,那么MySQL的性能将会大大降低。这一结果也不...

44860
来自专栏java一日一条

数据库的读写分离

读写分离,基本的原理是让主数据库处理事务性增、改、删操作(INSERT、UPDATE、DELETE),而从数据库处理SELECT查询操作。数据库复制被用来把事务...

11830
来自专栏蓝天

Linux后台开发常用工具

pwdx - report current working directory of a process,格式:pwdx pid 内存分析工具 v...

17320
来自专栏沈唁志

整合ThinkPHP功能系列之微信网页OAuth2.0授权登录

OAuth(开放授权)是一个开放标准,允许用户让第三方应用访问该用户在某一网站上存储的私密的资源(如照片,视频,联系人列表),而无需将用户名和密码提供给第三方应...

14710

扫码关注云+社区

领取腾讯云代金券