脚本操作ElasticSearch

(一)RESTful风格介绍

Restful就是一个资源定位及资源操作的风格。不是标准也不是协议,只是一种风格。基于这个风格设计的软件可以更简洁,更有层次,可以降低开发的复杂性,提高系统的可伸缩性。

特点:

1.基于http协议

2.使用XML格式定义或JSON格式定义

3.每一个URI代表1种资源。

4.客户端使用GET、POST、PUT、DELETE 4个表示操作方式的动词对服务端资源进行操作:

GET:用来获取资源

POST:用来新建资源(也可以用于更新资源)

PUT:用来更新资源

DELETE:用来删除资源

在这里插入图片描述

(二)操作索引

1 创建索引(PUT)

http://ip:端口/索引名称
案例: 
http://192.168.126.20:9200/index_01

Kibana
在这里插入图片描述

2 查询索引(GET)

GET http://ip:端口/索引名称  # 查询单个索引信息
GET http://ip:端口/索引名称1,索引名称2...  # 查询多个索引信息
GET http://ip:端口/_all  # 查询所有索引信息

kibana
在这里插入图片描述

3 删除索引(DELETE)

DELETE http://ip:端口/索引名称
DELETE /_all     删除全部

kibana

在这里插入图片描述

4 关闭、打开索引(了解)

POST http://ip:端口/索引名称/_close  
POST http://ip:端口/索引名称/_open 

kibana

在这里插入图片描述

(三)ElasticSearch 数据类型

1 简单数据类型

数据类型备注
字符串text :会分词,不支持聚合 相当于mysql 中的sum(求和)avg,max,min
keyword:不会分词,将全部内容作为一个词条,支持聚合
数值byte, short, integer, long, float, double
布尔boolean
范围类型integer_range, float_range, long_range, double_range, date_range
日期date

2 复杂数据类型

数据类型备注
数组: [ ]nested (for arrays of JSON objects 数组类型的JSON对象)
对象:{ }object(for single JSON objects 单个JSON对象)

(四)操作映射

1 查询映射

GET /索引的名称/_mapping

在这里插入图片描述

2 创建映射

2.1 创建索引后添加映射

个不推荐:写索引时没有提示

#创建索引
PUT /person

#查看索引
GET /person
#查看映射
GET /person/_mapping


#给已经存在的索引person添加映射
PUT /person/_mapping
{
  "properties":{
    "name":{
      "type":"text"
    },
    "age":{
      "type":"integer"
    },
    "birthday":{
      "type":"date"
    }
  }
}

在这里插入图片描述

2.2 创建索引并添加映射(推荐)
#给person添加映射
PUT /person2
{
  "mappings": {
    "properties": {
      "name":{
      "type":"text"
    },
    "age":{
      "type":"integer"
    },
    "birthday":{
      "type":"date"
    }
    }
  }
}

#查索引
GET /person2

在这里插入图片描述

添加字段 (修改映射结构)

#给创建好的索引添加字段
PUT /person2/_mapping
{
  "properties":{
    "address":{
      "type":"text"
    }
  }
}

总结:在实际当中 ,我们很少操作映射,一般都是使用API方式操作文档,所以以上的操作只需要能看懂就可以。

(五) 操作文档

1 查询文档

#根据id查询具体的文档
语法: GET /索引的名称/_doc/文档的id 
案例: GET /person1/_doc/1  

#查询所有的文档
语法:GET /索引名称/_search 
案例:GET /person1/_search

在这里插入图片描述在这里插入图片描述

2 添加文档,指定id

#语法:POST /索引的名称/文档的类型/文档的id
POST /person/_doc/1003
{
  "birthday":"2009-11-15",
  "name":"uuuuu",
  "age":24
}

#查询文档
GET /person1/_doc/1003

在这里插入图片描述

添加文档,不指定id

#添加文档,不指定id(同时也是修改,不存在添中,存在则修改)
POST /person1/_doc/
{
  "name":"张三",
  "age":18,
  "address":"北京"
}

#查询所有文档
GET /person1/_search

在这里插入图片描述

3 删除文档

#删除指定id文档
DELETE /person1/_doc/1

官方文档:
https://www.elastic.co/guide/en/elasticsearch/reference/6.0/getting-started.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值