在正式学习 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 之 步步为营 【主目录】】

最新文章

  1. google-analytics的使用: 解析页面引入代码
  2. 关于url传参中文乱码问题
  3. js 循环
  4. MMTx使用说明
  5. 【Todo】LR-逻辑回归
  6. Android yyyymmdd转成yyyy-MM-dd格式
  7. 百度地图LBS应用开发代码
  8. 一点一点学ASP.NET系列
  9. 全连接的BP神经网络
  10. cf C. Vasya and Robot
  11. [图形学] Chp9 三维几何变换--栈处理函数与矩阵管理函数的区别
  12. java中的各种Queue
  13. RabbitMQ消息队列(七):适用于云计算集群的远程调用(RPC)
  14. 【easy】88. Merge Sorted Array 合并两个有序数组
  15. python 【pandas】账号、银行卡号、身份证号导出文件后以科学计数法显示问题解决
  16. F#.NET周报 2018第34周-Ionide下载量100万
  17. 洛谷P1162 填涂颜色【bfs】
  18. springmvc转换JSON数据
  19. Android 之Toast
  20. django-mvvm(django的FormObject)

热门文章

  1. Appium学习路—脚本篇(启动app)
  2. nignx软件安装与调试
  3. Appium移动自动化测试之Eclipse
  4. form表单里如果只存在一个文本框,enter键提交
  5. 在子线程中new Handler报错--Can't create handler inside thread that has not called Looper.prepare()
  6. Unity 之 Shader 对Z深度的偏移
  7. 细说;(function ($, undefined){ })(jQuery); 的使用
  8. JAVA第4次作业
  9. python课程第四周重点记录
  10. 优化openfire服务器,达到单机20万,集群50万