搜索引擎 ElasticSearch 之 步步为营2 【基础概念】
在正式学习 ElasticSearch 之前,首先看一下 ElasticSearch 中的基本概念。
这些概念将在以后的章节中出现多次,所以花15分钟理解一下是非常值得的。
英文好的同学,请直接移步官网:(http://www.elasticsearch.org/guide/en/elasticsearch/reference/current/_basic_concepts.html)
near realtime(nrt) :
ElasticSearch 是一款“接近实时(nrt)”的搜索平台,为什么说“接近实时”,因为 ElasticSearch 可以在为一个“文档(document)”建立“索引(index)”后,非常短的时间内(这个时间通常在1秒之内)提供搜索支持。
cluster:
“集群(cluster)”是由一个或多个“节点”组合,负责管理你的全部数据,并联合提供建立“索引(index)”和“搜索”服务。
每个“集群”都有一个唯一标识,默认为"elasticsearch"。这是一个非常重要的标识,因为一个“节点(node)”只可以属于一个“集群(cluster)”。
node :
“节点(node)”是“集群”中的一台单独搜索服务器。负责存储数据,参与"集群“中建立索引和搜索任务。
与“集群”类似,每个“节点(node)”都有一个唯一标识,默认是随机的人名(英文名字)。
通过配置 /config/elasticsearch.yml 文件中的 cluster.name 项,我们可以设置这个“节点(node)”属于哪一个“集群(cluster)”。
index:
“索引(index)”是“文档(document)”的集合。一个索引中的“文档(document)”应该相似的特征。
例如,你可以为“用户信息”创建一个“索引(index)”,为“某个产品类别”创建另一个“索引”,当然,也可以为“订单信息”创建一个“索引”......
一个“索引(index)”应当有一个唯一的“名字”(必须全部为小写字母),这个“名字”可用于建立索引,搜索、更新和删除索引中的“文档”。
在一个“节点(node)”中,你可以定义任意数量的“索引(index)”。
type:
“类型(type)”是“索引(index)”中完全由你定义的一个逻辑上的类别/部分。
每个“索引(index)”都可以包含一个或多个“类型(type)”。例如,你准备构建一个博客系统,并使用一个“索引”存储所有数据,在这个“索引”中,可以为“用户信息”定义一个“类型(type)”,为“博客数据”定义另一个“类型(type)”,为“评论数据”定义第三个“类型”......
document:
“文档(document)”是可被建索引的一个基本信息单元。通常采用JSON格式。
需要注意的是,每个文档必须被指定对应的“索引(index)”和“类型(type)”。
shards & replicas:
“分片(shards)”:一个“索引”有可能存储的数据量超过了硬盘的容量,为了解决这个问题,ElasticSearch 支持将一个“索引”细分为多个“分片(shards)”,将其分布到不同的“节点”上,构成分布式搜索。
“副本(replicas)”:“副本(replicas)”提供了高可用性,当某个节点/分片损坏时,可以从“副本”中恢复。“副本”提供了可伸缩性,在搜索量上升时,“副本”可实现并行查询。
每个“索引(index)”都可以被分割为多个“分片”,同样,每个“索引”可以有0或多个“副本”。
“分片”和“副本”的数量可以在每个“索引”创建时指定。但创建完成后,不可以再分配索引的”分片“。默认情况下(至少拥有两个”节点“),ElasticSearch 会分配5个”分片“,每个“分片”会产生1个”副本”。
【搜索引擎 ElasticSearch 之 步步为营 【主目录】】
搜索引擎 ElasticSearch 之 步步为营2 【基础概念】的更多相关文章
- 搜索引擎 ElasticSearch 之 步步为营1 【环境搭建&初识ElasticSearch】
1.下载ElasticSearch a.下载Java环境JDK:http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloa ...
- 搜索引擎 ElasticSearch 之 步步为营 【主目录】
ElasticSearch 是一款著名的分布式搜索引擎框架,采用Java编写.具有搜索速度快,实时搜索等特色. 以下为官网对ElasticSearch的介绍: Elasticsearch 是一款高可伸 ...
- 【Elasticsearch学习】之基础概念
Elasticsearch是一个近实时的分布式搜索引起,其底层基于开源全文搜索库Lucene:Elasticsearch对Lucene进行分装,对外提供REST API 的操作接口.基于 ES,可以快 ...
- [Elasticsearch] 全文搜索 (一) 基础概念和match查询
全文搜索(Full Text Search) 现在我们已经讨论了搜索结构化数据的一些简单用例,是时候开始探索全文搜索了 - 如何在全文字段中搜索来找到最相关的文档. 对于全文搜索而言,最重要的两个方面 ...
- 快速掌握分布式搜索引擎ElasticSearch(一)
前言 由于最近在项目中接触使用到了ElasticSearch,从本篇博客开始将给大家分享这款风靡全球的产品.将涉及到ElasticSearch的安装.基础概念.基本用法.高级查询.中文分词器.与Spr ...
- Elasticsearch教程之基础概念
基础概念 Elasticsearch有几个核心概念.从一开始理解这些概念会对整个学习过程有莫大的帮助. 1.接近实时(NRT) Elasticsearch是一个接近实时的搜索平台.这意味 ...
- 3.高并发教程-基础篇-之分布式全文搜索引擎elasticsearch的搭建
高并发教程-基础篇-之分布式全文搜索引擎elasticsearch的搭建 如果大家看了我的上一篇<2.高并发教程-基础篇-之nginx+mysql实现负载均衡和读写分离>文章,如果能很好的 ...
- 白日梦的ES笔记三:万字长文 Elasticsearch基础概念统一扫盲
目录 一.导读 二.彩蛋福利:账号借用 三.ES的Index.Shard及扩容机制 四.ES支持的核心数据类型 4.1.数字类型 4.2.日期类型 4.3.boolean类型 4.4.二进制类型 4. ...
- Elasticserach学习笔记-01基础概念
本文系本人根据官方文档的翻译,能力有限.水平一般,如果对想学习Elasticsearch的朋友有帮助,将是本人的莫大荣幸. 原文出处:https://www.elastic.co/guide/en/e ...
随机推荐
- oracle 异常
ORACLE 异常错误处理 本篇主要内容如下: 5.1 异常处理概念 5.1.1 预定义的异常处理 5.1.2 非预定义的异常处理 5.1.3 用户自定义的异常处理 5.1.4 用户定义的异常处理 ...
- 【BZOJ2874】训练士兵(主席树)
题意:有一个N*M的矩阵,给出一些形如(x1,y1,x2,y2,s)的操作,代表(x1,y1)到(x2,y2)都被加上了s这个数 现在有一些强制在线的询问,询问(x1,y1)到(x2,y2)的和 对于 ...
- POJ 1015 Jury Compromise 2个月后重做,其实这是背包题目
http://poj.org/problem?id=1015 题目大意:在遥远的国家佛罗布尼亚,嫌犯是否有罪,须由陪审团决定.陪审团是由法官从公众中挑选的.先随机挑选n个人作为陪审团的候选人,然后再从 ...
- Win10切换中英输入法问题
用此方法解决后的效果: Win10系统只剩下"美式键盘"和"搜狗拼音"两种输入法,且默认为美式键盘. 按Ctrl+Shift切换到搜狗拼音,输入完成后,再按Ct ...
- String和string的区别(C#)
从位置讲: 1.String是.NET Framework里面的String,小写的string是C#语言中的string 2.如果把using System;删掉,没有大写的String了,Sys ...
- Android开发学习---sharedpreference的使用
在前面文章中,为了使数据回显,使用的技术思路是,首先,将数据持久化写到ROM或者SDCard中,其中name和password以":"分隔;然后,将数据记取出来,再用split方法 ...
- .net学习笔记--使用抽象方法实现多态
在使用抽象方法实现多态之前,我们必须知道一些知识点: 1.抽象类不能被实例化: 2.抽象类可以包含非抽象成员,它们可以由其子类继承调用. 我们可以先创建一个Person的抽象类,代码如下: abstr ...
- [z]查找锁表并解锁
select sess.sid, sess.serial#, lo.oracle_username, lo.os_user_name, ao.object_name, lo.locked_mode f ...
- mysql学习(1)-linux操作系统源码包安装
背景: CentOS 6.4下通过yum安装的MySQL是5.1版的,比较老,所以就想通过源代码安装高版本的5.6.22. 正文: 一:卸载旧版本 使用下面的命令检查是否安装有MySQL Server ...
- 让Asp.net mvc WebAPI 支持OData协议进行分页查询操作
这是我在用Asp.net mvc WebAPI 支持 OData协议 做分页查询服务时的 个人拙笔. 代码已经开发到oschina上.有兴趣的朋友可以看看,欢迎大家指出不足之处. 看过了园子里的几篇关 ...