微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

ElasticSearch 数据操作

目录


ES 数据操作

RESTful 风格

  • REST(Representational State Transfer,表述性状态转移)是一组架构约束条件和原则,而满足这些约束条件和原则的应用程序或设计就是 RESTful,其本质就是一种定义接口的规范。

  • 基于 HTTP 。

  • 使用 XML 或 JSON 的格式定义。

  • 一个 URI 代表一种资源。

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

    • GET:获取资源
    • POST:新建资源(也可以更新资源)
    • PUT:更新资源
    • DELETE:删除资源

ES 数据类型

简单数据类型

  • 字符串

  • 数值

    image

  • 布尔值(boolean)

  • 二进制(binary)

  • 范围(range)

    • integer_range
    • float_range
    • long_range
    • double_range
    • date_range
  • 日期(date)

复杂数据类型

  • 数组 [ ]:数组类型的 JSON 对象(for arrays of JSON objects)

  • 对象 { }:单个 JSON 对象(for single JSON objects)


操作索引

使用 Kibana

# 添加索引
PUT 索引名称

# 查询索引
# 查询单个索引信息
GET 索引名称
# 查询多个索引信息
GET 索引名称1,索引名称2,...
# 查询所有索引信息
GET _all  # 注意:下划线开头的指令是ES内置的

# 删除索引
DELETE 索引名称

# 关闭索引
POST 索引名称/_close

# 打开索引
POST 索引名称/_open

使用 RESTful 接口

# 添加索引
PUT http://ip:端口/索引名称

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

# 删除索引
DELETE http://ip:端口/索引名称

# 关闭索引
POST http://ip:端口/索引名称/_close

# 打开索引
POST http://ip:端口/索引名称/_open

操作映射

对已有索引添加映射

# 添加索引
PUT person

# 添加映射
PUT /person/_mapping
{
  "properties":{  # properties 为固定开头
    "name":{  # 字段名称
      "type":"text"  # type表示字段类型
    },
    "age":{
      "type":"integer"
    }
  }
}

同时创建索引和映射

# 创建索引和映射
PUT /person1
{
  "mappings": {  # 注意 mappings 开头
    "properties": {
      "name": {
        "type": "text"
      },
      "age": {
        "type": "integer"
      }
    }
  }
}

# 查询映射
GET person1/_mapping

添加字段

# 与添加映射的方式相同
PUT /person1/_mapping
{
  "properties": {
    "address": {
      "type": "text"
    }
  }
}

操作文档

添加文档(指定 id)

# 添加文档:指定 id 为 2
POST /person1/_doc/2
{
  "name":"张三",
  "age":18,
  "address":"北京"
}

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

添加文档(不指定 id)

# 添加文档:不指定id
POST /person1/_doc/
{
  "name":"张三",
  "age":18,
  "address":"北京"
}

# 使用返回的随机数id来查询文档
GET /person1/_doc/随机数id

查询所有文档

GET /person1/_search

删除指定 id 的文档

DELETE /person1/_doc/2

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐