ElasticSearch关键概念

2023-06-08,,

Elasticsearch

添加索引

一个存储关联数据的地方
用来指向一个或者多个分片(shards)的逻辑命名空间(logical namespcase)
应用程序直接与索引通信
一个分片(shard)

一个最小级别的"工作单元(worker unit)"
保存索引中所有数据的一部分
就是一个Lucene实例
就是一个完成的搜索引擎
文档存储在分片中,在分片中被索引
分片

Elasticsearch在集群中分发数据关键
是数据的容器
文档存储在分片中
分片分配到集群中的节点上
集群扩容或者缩小,elasticsearch将自动在节点上迁移分片,以保证集群平衡
主/复制分片(primary / replica shard)

分片可以是主分片也可以是复制分配
索引中的每个文档属于一个单独的主分片
主分片数量决定索引最多存储的数据
复制分片是主分片的一个副本

提供数据灾备
提供读请求
索引创建完毕,主分配数量就固定,复制分片数量可以随时调整

数据

    文档

      对象(object)和文档(document)是等价相通
      对象是一个json结构体,类似于哈希、hashmap、字典或者关联数据
      对象(object)中还可能包含其他对象(object)
      Elasticsearch中文档(document)

        最顶层结构/跟对象(root object)序列化成json数据以ID标识并存储于elasticsearch中

      文档元数据(metadata)

        _index:类似于关系型数据库里的"数据库",我们存储和索引关联数据的地方
        _type:类似于关系新数据库中的一个类,定义了属性或与对象关联的数据。
        _id:标识一个唯一的文档

    索引

      索引一个文档通过(index API)使数据可以被存储和搜索。

    获取

      获取文档

        GET /website/blog/123?pretty
        Pretty 美化json输出
        _sourc包含原始文档

      检索文档的一部分

        GET /website/blog/123?_source=title,text

    存在

      检索文档是否存在

        curl -i -XHEAD http://localhost:9200/website/blog/123

    更新

      重建索引(更新整个文档)

      PUT /websit/blog/123

      {

          "title":"my first blog entry"

          ……

      }

    创建
    删除
    版本控制
    局部更新
    Mget
    批量

ElasticSearch关键概念的相关教程结束。

《ElasticSearch关键概念.doc》

下载本文的Word格式文档,以方便收藏与打印。