ES基础篇 常用API之索引类、映射类、别名类API

本文介绍了Elasticsearch中用于管理索引、映射和别名的RESTfulAPI,包括创建、删除、获取和修改索引的设置,添加和查看映射,以及创建、查看、删除别名的操作。同时,文章详细解释了GET、POST、PUT、DELETE等HTTP方法在API中的用途,并提到了别名的过滤功能。
摘要由CSDN通过智能技术生成

前言

之前写了ES基础篇 常用API之集群类API,这个主要是集群方面的一些API操作,用户可以通过HTTP快速查看集群、节点、分片等信息,也可以查看索引、别名、映射、文档等,如同我们在mysql中查看数据库、表信息等,能够通过restful便捷的查看各类信息,这篇主要是介绍一下ES索引类、映射类、别名类等方面的一些API,通过在kinbana上运行这些指令,可以快速进行创建、删除、获取、修改等操作

ES Restful API GET、POST、PUT、DELETE、HEAD含义(这几个是API的基本概念):
1)GET:获取请求对象的当前状态。
2)POST:改变对象的当前状态。
3)PUT:创建一个对象。
4)DELETE:销毁对象。
5)HEAD:请求获取对象的基础信息。

索引类API

创建索引

# 创建指定分片数和副本数的索引,index为指定的索引名称
PUT /{index}
{
    "setting":{
        # 分片数量:1个
        "number_of_shards":3,
        # 副本数量:0个
        "number_of_replicas":1
    }
}

删除索引

DELETE /{index}

获取索引

GET /{index}

修改索引

PUT /{index}/_settings
{
  #将副本分片数量修改为1
  "number_of_replicas": 0
}

索引开关

#关闭索引
POST /{index}/_close
#打开索引
POST /{index}/_open

映射类

添加映射

PUT /{index}/_mapping
{
  "properties":{
    "ipAddr":{
      "type":"ip" # 为ipAddr字段设置字段类型为IP
    }
  }
}

查看映射

# 查看指定索引的所有字段的映射
GET /{index}/_mapping/

#查看指定索引下字段为ipAddr的映射
GET /{index}/_mapping/field/ipAddr

其他

ElasticSearch没有提供删除和修改映射功能。

别名类

ElasticSearch的别名,就类似数据库的视图
别名不仅仅可以关联一个索引,它能聚合多个索引,但对别名操作时,只有读权限,没有写权限,因为针对别名操作时,不不知道到底操作哪个索引

创建别名

POST /_aliases
{
  "actions": [
    {
      "add": {
        "index": "{index1}",
        "alias": "{aliase_name}"
      }
      , "add": {
        "index": "{index2}",
        "alias": "{aliase_name}"
      }
    }
  ]
}

查看别名

#查看指定索引下的所有别名
GET /{index}/_alias

#获取指定别名的信息
GET /{aliase_name}

删除别名

POST /_aliases
{
  "actions": [
    {
      "remove": {
        "index": "{index}",
        "alias": "{aliase_name}"
      }
    }
  ]
}

过滤别名

通过过滤索引指定别名提供了对索引查看的不同视图。

POST /_aliases
{
  "actions": [
    {
      "add": {
        "index": "blog",
        "alias": "blog_aliase_a", 
        # 过滤auth字段为bill的数据
        "filter": {
          "term": {
            "auth": "bill"
          }
        }
      }
    },
    {
      "add": {
        "index": "blog",
        "alias": "blog_aliase_b",
        # 过滤cotent字段中包含how关键字的数据
        "filter": {
          "term": {
            "content": "how"
          }
        }
      }
    },
    {
      "add": {
        "index": "blog",
        "alias": "blog_aliase"
      }
    }
  ]
}

GET /blog_aliase/_search	#能看到blog_aliase(所有数据,没有过滤)
GET /blog_aliase_a/_search	#只能看到blog_aliase_a
GET /blog_aliase_b/_search	#只能看到blog_aliase_b
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值