您当前的位置: 首页 >  ar

陈橙橙丶

暂无认证

  • 0浏览

    0关注

    107博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

elasticSearch核心概念的介绍(一):基本介绍和索引的基本使用

陈橙橙丶 发布时间:2022-02-18 10:50:42 ,浏览量:0

elasticSearch核心概念的介绍 前言

我们可以想象一下我在使用数据库查询数据的时候我们应该怎么做?假设我们在使用mysql数据库存储一些数据,我们该如何操作的?

  • 建立数据库->建表->插入数据->查询
  • 索引
    • 一个索引可以理解成一个关系型数据库
  • 类型
    • 一种type就像一张表,比如user表,order表
    • 注意:
      • ES 5.x版本中一个index可以有多个type
      • ES 6.x版本中一个index只能有一种type
      • ES 7.x版本后移除type这个概念
  • 映射
    • mapping定义了每个字段的类型等信息。相关于关系型数据库中的表结构
  • 文档
    • 一个document相关于关系型数据库中的一行记录
  • 字段
    • 相当于关系型数据库的字段
  • 集群
    • 集群由一个或多个节点组成,一个集群由一个默认名称“elasticsearch”
  • 节点
    • 集群的节点,一台机器或者一个进程
  • 分片和副本
    • 副本是分片的副本。分片有主分片(primary Shard) 和 副本分片(replica Shard)之分。
    • 一个Index数据在物理上被分布在多个主分片中,每个主分片中存放部分数据。
    • 每个主分片可以有多个副本,叫副本分片,是主分片的复制。
RESTful风格的介绍

es使用的是RESTful风格api来设计的,那么我们就来简单介绍一下。

  • 介绍

    • RESTful是一种架构的规范与约束、原则,符合这种规范的架构就是RESTful架构。
    • 先看REST是什么意思:对资源的表述性状态转移,即通过HTTP动词来实现资源的状态扭转:
      • 资源是REST系统的核心概念,所有的设计都是以资源为中心。
  • 方法

    action描述HEAD只获取某个资源的头部信息GET获取资源POST创建或更新资源PUT创建或更新资源DELETE删除资源

    GET /user :列出所有的用户

    POST /user : 新建一个用户

    PUT /user :更新某个指定的用户信息

    DELETE /user/id : 删除指定用户

  • curl 工具

    • 获取es状态

      curl -X GET "http://172.25.45.150:9200"
      
    • 新增一个文档

      curl -X PUT "http://172.25.45.150:9200/ccc/_doc/1" -H 'Content-Type: application/json' -d '
      {
      	"user": "zhangsan",
      	"message" : "zhangsan is good"
      }
      '
      
    • 删除一个文档

      curl -X DELETE "http://172.25.45.150:9200/ccc/_doc/1"
      
      #### 索引的介绍和使用
      
  • 新增

    • 新增一个 nba索引

      curl -X PUT "http://172.25.45.150:9200/nba"
      
    • 响应

      {
          "acknowledged":true,
       	"shards_acknowledged":true,
          "index":"nba"
      }
      
  • 获取

    • 请求

      curl -X GET "http://172.25.45.150:9200/nba"
      
    • 响应

      {
          "nba": {
              "aliases": {},  //别名
              "mappings": {}, //映射
              "settings": { //索引设置
                  "index": {
                      "creation_date": "1645150581465", //创建时间
                      "number_of_shards": "1", //分片数量
                      "number_of_replicas": "1", //副本数量
                      http://172.25.45.150:9200"uuid": "-xxsKdJKT0yqitrwbYYE8g",  
                      "version": {
                          "created": "7040299"
                      },
                      "provided_name": "nba"
                  }
              }
          }
      }
      
  • 删除

  • 请求

    curl -X DELETE "http://172.25.45.150:9200/nba"
    
  • 响应

    {
        "acknowledged": true
    }
    
  • 获取所有索引

    • 请求

      curl -X GET "http://172.25.45.150:9200/_cat/indices?v"
      
    • 响应

      health status index                    uuid                   pri rep docs.count docs.deleted store.size pri.store.size
      yellow open   ccc                      wc54ITE7TJCdtOgzjaxmng   1   1          0            0       283b           283b
      yellow open   nba4                     uGYfI4qZTYiP3E8jH-lz6A   1   1          0            0       230b           230b
      yellow open   nba3                     iA2O1MhnSe6cBiYfu80w7Q   1   1          0            0       230b           230b
      green  open   .kibana_task_manager_1   KuTEijTeRFOPy810QWLpog   1   0          2            0     30.5kb         30.5kb
      green  open   .apm-agent-configuration sdrBOdnLRgahsZRNR8arSQ   1   0          0            0       283b           283b
      green  open   .kibana_1                W6kh3-lCRr2zkMHj0Wxm1g   1   0          3            0     14.8kb         14.8kb
      
      
  • 判断索引是否存在

    • 请求

      curl -X HEAD "http://172.25.45.150:9200/nba"
      
    • 响应

      {
          "status" : 200
      }
      
  • 关闭索引

    某个索引不想使用了。

    • 请求

      • 关闭 (关闭之后通过 – 获取-- 会在索引设置字段中多一个"verified_before_close": “true”,字段)
      curl -X POST "http://172.25.45.150:9200/nba3/_close"
      
      • 开启
      curl -X POST "http://172.25.45.150:9200/nba3/_open"
      
    • 响应

      {
          "acknowledged": true,
          "shards_acknowledged": true,
          "indices": {
              "nba3": {
                  "closed": true
              }
          }
      }
      

关注
打赏
1648473527
查看更多评论
立即登录/注册

微信扫码登录

0.0433s