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

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

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

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

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

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

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

ElasticSearch入门介绍之会当凌绝顶(一)的更多相关文章

  1. ElasticSearch入门介绍之安装部署(二)

    散仙,在上篇文章对ElasticSearch整体入门作了个介绍,那么本篇我们来看下,如何安装,部署es,以及如何安装es的几个比较常用的插件. es的安装和部署,是非常简单方便的,至少这一点散仙在es ...

  2. ElasticSearch入门介绍一

    ElasticSearch 关于es的几个概念: 集群:多个运行es节点可以组成一个集群,它们拥有相同的cluster.name. 节点:运行es的实例 索引:相当于数据库database,一个集群可 ...

  3. ElasticSearch 入门介绍

    tags: 第三方 lucene [toc] 1. what Elastic Search(ES)是什么 全文检索和lucene 全文检索 优点:高效,准确,分词全文检索允许用户输入一些关键字,从数据 ...

  4. Elasticsearch入门介绍

    ES是一个高扩展的.开源的.全文检索的搜索引擎,它提供了近实时的索引.搜索.分析功能. ES文档翻译与总结参考:ES知识汇总 应用场景 1 它提供了强大的搜索功能,可以实现类似百度.谷歌等搜索. 2 ...

  5. ElasticSearch入门知识扫盲

    ElasticSearch 入门介绍 tags: 第三方 lucene [toc] 1. what Elastic Search(ES)是什么 全文检索和lucene 全文检索 优点:高效,准确,分词 ...

  6. 《读书报告 -- Elasticsearch入门 》--简单使用(2)

    <读书报告 – Elasticsearch入门 > ' 第四章 分布式文件存储 这章的主要内容是理解数据如何在分布式系统中存储. 4.1 路由文档到分片 创建一个新文档时,它是如何确定应该 ...

  7. ElasticSearch入门 附.Net Core例子

    1.什么是ElasticSearch? Elasticsearch是基于Lucene的搜索引擎.它提供了一个分布式,支持多租户的全文搜索引擎,它具有HTTP Web界面和无模式JSON文档. Elas ...

  8. Elasticsearch Elasticsearch入门指导

    Elasticsearch入门指导 By:授客 QQ:1033553122 1. 开启elasticsearch服务器 1 2. 基本概念 2 <1> 集群(Cluster) 2 < ...

  9. ElasticSearch 入门

    http://www.oschina.net/translate/elasticsearch-getting-started?cmp ElasticSearch 简单入门 返回原文英文原文:Getti ...

随机推荐

  1. JS对象 字符串分割 split() 方法将字符串分割为字符串数组,并返回此数组。 语法: stringObject.split(separator,limit)

    字符串分割split() 知识讲解: split() 方法将字符串分割为字符串数组,并返回此数组. 语法: stringObject.split(separator,limit) 参数说明: 注意:如 ...

  2. leetcode-第10周双周赛-5079-三个有序数组的交集

    题目描述: 自己的提交: class Solution: def arraysIntersection(self, arr1: List[int], arr2: List[int], arr3: Li ...

  3. linux下常见的包安装方式

    linux下常见的包安装方式 一.总结 一句话总结: rpm包安装 tar.gz源代码包安装 yum方式安装rpm包 bin文件安装 1.yum是什么? 安装所有依赖的软件包 Yum(全称为 Yell ...

  4. SpringCloud学习笔记(九):SpringCloud Config 分布式配置中心

    概述 分布式系统面临的-配置问题 微服务意味着要将单体应用中的业务拆分成一个个子服务,每个服务的粒度相对较小,因此系统中会出现大量的服务.由于每个服务都需要必要的配置信息才能运行,所以一套集中式的.动 ...

  5. idea for mac 项目打开的情况下import project

    commad + ,进入设置页面,搜索框输入menu,选择file下面的任意一个都行: 点击打开的窗口中的others 不需要重启 参考:https://blog.csdn.net/zengxiaos ...

  6. 更改网卡名称以及重启网卡提示Determining if ip address x.x.x.x is already in use for device eth0

    安装系统完成后,在CentOS6.6下网卡名称变为em1,有些不太方便,还是改回eth0 修改grub配置文件,vi /boot/grub/grub.conf,增加如下红色字体 kernel /vml ...

  7. 4_2.springboot2.x配置之springmvc自动配置

    1.Spring MVC auto-configuration 查看官方文档: Spring Boot为Spring MVC提供了自动配置,适用于大多数应用程序. 自动配置在Spring的默认值之上添 ...

  8. USACO training course Checker Challenge N皇后 /// oj10125

    ...就是N皇后 输出前三种可能排序 输出所有可能排序的方法数 vis[0][i]为i点是否已用 vis[1][m+i]为i点副对角线是否已用  m+i 为从左至右第 m+i 条副对角线 vis[1] ...

  9. selenium基础(元素定位)

    selenium的帮助文档: https://selenium-python.readthedocs.io/api.html#module-selenium.common.exceptions 目前支 ...

  10. [sonata admin] argument "$code" of method

    2. CREATING AN ADMIN 按照这里,在 AppBundle中的Controller创建了 CategoryAdmin 类,当运行 php bin/console server:star ...