• 基本概念


    基本概念:
    
    有几个概念 是Elasticsearch的核心,了解哪些内容从一开始会极大的帮助你简化学习过程:
    
    Near Realtime(NRT):
    
    Elasticsearch  是一个近乎实时搜索的平台,这意味着有一个轻微的延迟(通常是1秒)从你索引一个文档
    
    直到它变的可检索。
    
    Cluster:
    
    一个集群是一个或者多个节点的集合,共同持有你整个数据和提供联合索引和搜索功能跨越所有的节点。
    
    一个集群是由一个唯一的名称默认是elasticsearch
    
    这个名字是重要的因为一个节点只能是一个集群的一部分,
    
    如果节点是是创建通过这个名字加入集群。
    
    
    确保 你不重用相当的集群名字在不同的环境,
    
    否则你可能最终会让节点加入到错误的集群。
    
    比如 你可以使用 logging-dev, logging-stage, and logging-prod  对于开发,
    
    工作台和生产环境。
    
    
    节点:
    
    一个节点是一个简单的server, 是你集群的一部分,存储你的数据,参与集群的索引和搜索能力。
    
    就像一个集群, 一个节点是通过一个名字定义 默认是一个随机的UUID
    
    一个节点可以配置加入到一个特定的集群通过集群名字。
    
    这意味着你启动一些节点在你的网络上假设你可以互相发现。
    
    他们会自动形成和产生一个单独的集群名字elasticsearch
    
    在一个单独的集群, 你可以有很多你需要的节点。此外,
    
    如果没有其他 Elasticsearch nodes 当前运行在你的网络,
    
    启动一个单独的节点默认形成一个新的单个节点cluster命名为elasticsearch
    
    Index:
    
    一个索引是具有相似特征的文档集合。 例如,你可以有一个索引用于客户数据,
    
    另外一个索引用于产品目录,以及另外一个索引用于订单数据。
    
    一个索引是由名称标示(必须小写),这个名字是用于索引当执行索引,搜索,更新和删除操作
    
    
    在单个集群中,可以根据需要定义多个索引:
    
    
    类型:
    
    在索引中,你可以定义一个或者多个类型。
    
    一个类型是一个逻辑分类/分区 其语义是完全取决于你。
    
    通常,一个类型是定义用于文档有一组相同的公共字段。
    
    比如,你运行一个博客平台存储所有你的数据在一个单个索引。
    
    在这个索引,如果你定义一个类型用于用户数据,另外的类型用于blog 数据,
    
    另外的类型用于解释数据等。
    
    Document 文档:
    
    一个文档是一个被索引信息的基本单元。例如,你可以有一个文档用于一个单独的客户,
    
    另外的文档用于一个单独的产品
    
    文档是JSON格式
    
    在一个Index/type,你可以存储很多你需要的文档。
    
    注意尽管一个文档物理驻留在一个索引里,一个文档实际上必须是被索引/分配到一个类型在一个索引里
    
    
    shards 和replicas  分片和副本:
    
    一个索引可以潜在的存储大量的数据,可以超过单个节点的硬件限制。
    
    比如,10亿文档的一个单独索引可以占据1TB的磁盘空间可能不能安放在一个单独的节点
    
    或者可能会很慢来供应请求从一个单独的节点。
    
    为了解决这个问题,Elasticsearch  提供能力来细分你的索引到多份称为shards(分片)。
    
    当你创建一个索引,你可以简单的定义shards 的数量。
    
    每个shard  本身是一个全功能的独立的索引可以在集群中的任何节点上。
    
    Sharding  分片有两个重要的原因:
    
    1. 它允许你水平的拆分/衡量你的内容卷:
    
    2. 它允许你分散和并行操作shards(可能到多个节点上),因此增加性能/吞吐量。
    
    
    一个分片的技术是分散和它的文档时聚合到搜索请求是完全通过Elasticsearch 管理
    
    传输到用户:
    
    在一个网络/云 环境  失败可以是预期的在任何时候,
    
    它是非常有用的 高度推荐的有一个失败机制 万一一个shard/node 有时候下线或者消失。
    
    为此,Elasticsearch 允许你让一个或者多个索引的shards 的拷贝被称为replica shards, or replicas for short.
    
    
    
    复制是重要的对于两个主要的原因:
    
    1.它提供了高可能的万一一个shard/node fails. 对于这个原因,
    
    它是重要的注意一个replica shard 是不要分配在相同的节点作为原始的shard
    
    
    2. 它允许你扩展你的搜索卷/吞吐量 因为搜索可以被执行在所有的副本上。
    
    总之,每个索引可以被分割到多个shards。
    
    一个索引可以被复制0个(意味着没有副本)或者 更多。
    
    一旦被复制,每个索引会有多个shards (原始的shards被复制的)和复制分片
    
    shards和replicas 的数量可以在每个索引创建的时候。
    
    当索引被创建,你可以改变replicas 的数量 但是你不能改变shards 的数量
    
    默认的,每个索引在Elasticsearch 是被分成5个主shards和一个replica 
    
    这意味着如果你有至少2个节点在你的cluster,你的索引有5个 primary shards 和另外5个 replica shards
    
    每个Elasticsearch shard 是一个Lunce index .
    

  • 相关阅读:
    考研_数据结构
    快速排序模板
    nginx设置跳转https
    PHP 构造函数
    js scroll事件
    php获取url中的参数
    js 的cookie问题
    yii2关联表
    sql优化之concat/concat_ws/group_concat
    yii2.0 url美化-apache服务器
  • 原文地址:https://www.cnblogs.com/hzcya1995/p/13349702.html
Copyright © 2020-2023  润新知