ES7基础篇-03-索引库(类似于数据库当中的库)操作

文章目录

  • 1. 简介
  • 2. 索引库操作
    • 2.2.创建索引库
      • 2.2.1.语法
      • 2.2.3.`使用kibana创建`
    • 2.3.`查看索引库`
    • 2.4.`删除索引库`
    • 2.5 `关闭索引库`
    • 2.6 `打开索引库`
    • 2.7 `冻结索引`
    • 2.9 `解冻索引`

1. 简介

Elasticsearch提供了Rest风格的API,即http请求接口,而且也提供了各种语言的客户端API

2. 索引库操作

1.基本概念:
Elasticsearch也是基于Lucene的全文检索库,本质也是存储数据,很多概念与MySQL类似的。

对比关系:

索引库(indices)---------------------------------Databases 数据库

    类型(type)----------------------------------Table 数据表

        文档(Document)--------------------------Row 行

                字段(Field)---------------------Columns 列 

详细说明:

概念 说明
索引库(indices) indices是index的复数,代表许多的索引,
类型(type) 类型是模拟mysql中的table概念,一个索引库下可以有不同类型的索引,类似数据库中的表概念。数据库表中有表结构,也就是表中每个字段的约束信息;索引库的类型中对应表结构的叫做映射(mapping),用来定义每个字段的约束。在7.0中就会被弃用了,用一个默认值代替:_doc
文档(document) 存入索引库原始的数据。比如每一条商品信息,就是一个文档
字段(field) 文档中的属性
映射配置(mappings) 字段的数据类型、属性、是否索引、是否存储等特性

2.2.创建索引库

2.2.1.语法

Elasticsearch采用Rest风格API,因此其API就是一次http请求,你可以用任何工具发起http请求

创建索引的请求格式:

  • 请求方式:PUT

  • 请求路径:/索引库名

  • 请求参数:json格式:

eg:


{
   "settings":{
       "number_of_shards":2,
       "number_of_replicas":2
   },
   "mappings":{
       "properties":{
           "id":{
               "type":"long"
           },
           "name":{
               "type":"text"
           }
       }
   }
}


分为两个部分:settings和mappings。在settings中,我们设置了分片数和副本数。

  • number_of_shards:分片的数量;
  • number_of_replicas:副本的数量;

在mappings中,我们设置索引的字段,在这里,我们只设置了id和name,id的映射类型是long,name的映射类型是text。

settings:就是索引库设置,其中可以定义索引库的各种属性,目前我们可以不设置,都走默认。

  put   /索引库名
   {
    "settings": {
        "属性名": "属性值"
      }
 }

一般配置,副本数少可以提高性能

  "settings": {
    "index": {
      "refresh_interval": "5s",
      "number_of_shards": "1",
      "translog": {
        "sync_interval": "5s",
        "durability": "async"
      },
      "max_result_window": "65536",
      "number_of_replicas": "1"
    }
  }

2.2.3.使用kibana创建

在kibana的控制台输入即可创建 wang库,示例:

PUT /wang

2.3.查看索引库

Get请求可以帮我们查看索引信息,格式:

GET /索引库名

查看wang库的创建信息

GET /wang

2.4.删除索引库

删除索引使用DELETE请求

语法: DELETE /索引库名

删除wang库

DELETE wang

再次查看wang库发现以及没有了

当然,我们也可以用HEAD请求,查看索引是否存在:

HEAD wang

2.5 关闭索引库

如果索引被关闭,那么关于这个索引的所有读写操作都会被阻断。索引的关闭也很简单,请求方式如下:

POST /索引库/_close

2.6 打开索引库

与关闭索引相对应的是打开索引,请求方式如下:

POST /索引库/_open

2.7 冻结索引

冻结索引和关闭索引类似,关闭索引是既不能读,也不能写。而冻结索引是可以读,但是不能写。冻结索引的请求方式如下:

POST /索引库/_freeze

2.9 解冻索引

与冻结索引对应的是解冻索引,方式如下:

POST /索引库/_unfreeze

你可能感兴趣的:(ES-基础篇,elasticsearch)