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

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

ElasticSearch也是一款非常优秀的开源的全文检索框架,以大名鼎鼎的Apache Lucene为基础,高度封装了更丰富,易用的API,同时与Apache Solr一样,提供了非常强大的分布式集群功能! 

有不懂ElasticSearch(下文简称es)是干啥的朋友,可以点此链接在百科上先大致了解下。 

下面进入正题,本篇散仙先从宏观上介绍es的一些概念和特性,让大家能够对es整体有个认识,后续,散仙会写一些怎么安装,部署,调优,使用,集群等 

es和lucene,solr一样,都是无模式的基于列式的存储格式,这和大多数的NoSQL数据库是一样的,非常灵活,下面我们通过一张图,来看下关系型数据库映射到es里面,对应的名词关系: 


26204427_0YdC.jpg 



了解这个之后,我们对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端口,系统就会继续接受请求,为我们查询最近一次的索引的数据 



最后,散仙帮朋友发个招聘启事: 

招聘职位: 搜索工程师 
一些要求: 

1,熟练使用lucene,solr 
2,有电商搜索经验的优先 
3, 3年以上的Java开发经验 
4,学历专科以上即可 

公司主做跨境b2b电商平台 
地址在三元桥附近 
福利:话补,饭补   
薪水在15K-20K之间 

有意者请留言联系散仙,帮推荐! 


欢迎大家关注微信公众号:我是工程师(woshigcs),更多与攻城师息息相关的内容,尽在此处。 
二维码扫描: 



26204427_QOYm.jpg 









转载于:https://my.oschina.net/u/1027043/blog/361052

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/109614.html原文链接:https://javaforall.net

赞 (0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • Windows 7里的“隐藏”特性:Guest Mode

    Windows 7里的“隐藏”特性:Guest Mode

    2021年8月2日
  • 弹出USB大容量存储设备时出问题_win10无usb大容量存储

    弹出USB大容量存储设备时出问题_win10无usb大容量存储1、打开计算机管理2、点击事件查看器->自定义视图->管理事件3、双击管理事件里面的警告事件,打开它,4、点击详细信息5、记住上面的进程ID,然后打开任务管理器,找到刚才的那个进程,鼠标右键后点击结束进程树。…

    2022年10月7日
  • 韩顺平 2021零基础学Java 学习笔记(1)(自用)[通俗易懂]

    韩顺平 2021零基础学Java 学习笔记(1)(自用)[通俗易懂]目录第2章Java概述第3章变量第4章运算符第5章程序控制结构第6章数组、排序和查找第7章面向对象编程(基础部分)第8章面向对象编程(中级部分)第2章Java概述2.1Java重要特点Java语言是面向对象的(oop)Java语言是健壮的。Java的强类型机制、异常处理、垃圾的自动收集等是Java程序健壮性的重要保证Java语言是跨平台性的。[即:一个编译好的.class文件可以在多个系统下运行,这种特性称为跨平台]Jav

    2022年10月10日
  • docker镜像操作_docker 本地镜像

    docker镜像操作_docker 本地镜像前言Docker的三大核心概念:镜像、容器、仓库。初学者对镜像和容器往往分不清楚,学过面向对象的应该知道类和实例,这跟面向对象里面的概念很相似我们可以把镜像看作类,把容器看作类实例化后的对象。|

    2022年7月31日
  • 大学技术类书单

    大学技术类书单

    2021年11月23日
  • 服务器中”系统平均负载 Load average“含义学习

    服务器中”系统平均负载 Load average“含义学习文章目录一、什么是系统平均负载二、衡量系统性能三、行车过桥(引用)四、自我总结一、什么是系统平均负载  uptime、w、top等命令都会有系统负载loadaverage的输出,系统平均负载被定义为在特定时间间隔内运行队列中的平均进程数,包括可运行状态和不可中断状态的平均进程数,也就是活跃进程数。它和cpu使用率没有直接的关系二、衡量系统性能  如果系统平均负载的数值除以CPU的数目高于…

    2022年9月13日

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号