您当前的位置: 首页 > 

宝哥大数据

暂无认证

  • 0浏览

    0关注

    1029博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

ES基本操作

宝哥大数据 发布时间:2021-03-30 10:05:03 ,浏览量:0

基于ES-7.10.2

文章目录
  • 基于ES-7.10.2
  • 一、ES的结构
    • 1.1、索引 Index
    • 1.2、类型 Type(es-7.x已经废弃)
    • 1.3、文档(Document)
    • 1.4、属性 Field
  • 二、操作ES的Restful语法
    • 2.1、GET 请求
    • 2.2、POST 请求
    • 2.3、PUT 请求
    • 2.4、DELETE 请求
    • 2.5、在Kinaban 执行命令
  • 三、Index 操作
    • 3.1、创建索引
    • 3.2、查询索引
    • 3.3、删除索引
  • 四、Field 操作
    • 4.1、数据类型 [【参考官网】](https://www.elastic.co/guide/en/elasticsearch/reference/7.10/mapping-types.html#mapping-types)
    • 4.2、创建索引并指定数据结构
  • 五、文档(Doc)操作
    • 5.1、添加文档, 必须指定doc_id
    • 5.2、修改
      • 5.2.1、覆盖式修改
      • 5.2.2、修改文档,基于doc方式
  • 5.3、删除文档

一、ES的结构 1.1、索引 Index

索引 Index ES会对索引分片, 还会对索引进行备份(副本) 备份分片默认不会帮助检索数据,当ES检索压力特别大的时候,备份分片才会帮忙检索数据

在这里插入图片描述

1.2、类型 Type(es-7.x已经废弃)

类似于Mysql中的Table es7.x中只有一个_doc 在这里插入图片描述

1.3、文档(Document)

一个Type下可以有多个Doc,类似于Mysql表中的多行数据。 在这里插入图片描述

1.4、属性 Field

类似于Mysql表中的一行数据的多个列

在这里插入图片描述

二、操作ES的Restful语法 2.1、GET 请求
 	http://ip:port/index 	查询索引信息
 	http://ip:port/index/type/doc_id 	查询指定文档信息
2.2、POST 请求
	http://ip:port/index/type/_search 查询文档,可以再请求体中添加json 字符串来代表查询条件
 	http://ip:port/index/type/doc_id/_update 修改文档,可以再请求体中添加json 字符串来代表查询条件
2.3、PUT 请求
 	http://ip:port/index 	创建一个索引,需要在请求体中指定索引信息,类型,结构
 	http://ip:port/index/type/_mappings    创建索引时,指定索引文档存储的属性信息
2.4、DELETE 请求
 	http://ip:port/index 	删除索引
 	http://ip:port/index/type/doc_id 	 删除指定文档
2.5、在Kinaban 执行命令

Management -> Dev Tools 在这里插入图片描述

三、Index 操作 3.1、创建索引
PUT /person
{
  "settings": {
    "number_of_shards": 5,
    "number_of_replicas": 1
  }
}
3.2、查询索引
GET /person

在这里插入图片描述

3.3、删除索引
DELETE /person
四、Field 操作 4.1、数据类型 【参考官网】 4.2、创建索引并指定数据结构
PUT /book 
{
  "settings": { # 指定分片及副本
    "number_of_shards": 5,
    "number_of_replicas": 1
  },
  "mappings": {      # 此处不需要设置类型Type,es7.x已经废弃了Type
    "properties": {  # 设置 Field
      "name": {  #设置属性名
        "type": "text",							#类型
        "analyzer": "ik_max_word",				# 分词器
        "index": true,							# 指定当前Field是否作为查询条件
        "store": false							# 是否需要额外存储
      },
      "author": {
        "type": "keyword"
      },
      "count": {
        "type": "long"
      },
      "onSale": {
        "type": "date",
        "format": "yyyy-MM-dd HH:mm:ss||yyyy-MM-dd||epoch_millis"			# 时间类型的格式化方式
      },
      "desc": {
        "type": "text",
        "analyzer": "ik_max_word"
      }
    }
  }
}
五、文档(Doc)操作 5.1、添加文档, 必须指定doc_id

es7.x中只有一个 类型(Type),即默认的_doc

PUT /book/_doc/1 
{
  "name": "西游记",
  "author": "吴承恩",
  "count": "100000",
  "onSale": "1970-01-01",
  "desc": "由明代小说家吴承恩所创作的中国古代第一部浪漫主义的长篇神魔小说"
}
5.2、修改 5.2.1、覆盖式修改
# 修改
PUT /book/_doc/1 
{
  "name": "西游记"
}

# 查询文档, 发现只有name字段
GET /book/_doc/1 
{
  "_index" : "book",
  "_type" : "_doc",
  "_id" : "1",
  "_version" : 2,
  "_seq_no" : 1,
  "_primary_term" : 1,
  "found" : true,
  "_source" : {
    "name" : "西游记"
  }
}


5.2.2、修改文档,基于doc方式
POST /book/_doc/1/_update
{
  "doc": {
     "name": "西游记2"
  }
}

# 推荐这种
POST /book/_update/1
{
  "doc": {
     "name": "西游记3"
  }
}
5.3、删除文档
DELETE /book/_doc/1
关注
打赏
1587549273
查看更多评论
立即登录/注册

微信扫码登录

0.0392s