Elasticsearch 05 基础操作

1、ES的RESTful API

    ES以RESTful风格定义自己的API:

  http://[ip]:[端口]/[索引]/[类型]/[文档id]

2、创建索引

⑴ 通过elasticsearch-head插件来创建【非结构化的创建】

    单击索引 -> 新建索引 -> 起个索引名 -> 单击OK

    创建完索引后,可以到概览中去查看
索引

    Tips:单击信息 -> 索引信息
             当中有一个mappings的子集,如果它是空的,代表它是非结构化的索引
非结构化的索引

⑵ 结构化的创建

    单击复合查询 -> 输入索引/类型/mappings -> 输入文档对应的JSON字符串 -> 易读打勾 -> 验证JSON -> 提交请求

    示例:
      输入:animals/tiger/mappings
      JSON字符串:

{
  "king": {
    "properties": {
      "name": {
        "type": "text"
      }
    }
  }
}

    再回到概览中去查看创建的索引,及其结构化

    Tips:通过ES的API查看索引,格式:

  http://ES的服务地址:端口号/_mapping?pretty

3、使用Postman

⑴ 介绍

    Postman是Chrome的一个插件,它可以用于模拟HTTP的各种类型的请求。体积小,速度快,还有格式提示

⑵ 使用方式

    ① 选择请求方式【PUT(提交)/POST(更新)】
    ② 输入请求URL/索引名
    ③ 单击body,选择raw
    ④ 选择传输类型为JSON(application/JSON)
    ⑤ 输入JSON字符串

⑶ 新建索引

{
  "settings": { // 索引设置
    "number_of_shards": 3,  // 分片数
    "number_of_replicas": 1 // 备份数
  },
  "mappings": { // 映射【type类型】
    "man": { // 一个类型
      "properties": {
        "name": {
          "type": "text" // 文本型
        },
        "age": {
          "type": "integer" // 数值型
        },
        "country": {
          "type": "keyword" // 关键字
        },
        "birthday": {
          "type": "date", // 日期型
          "format": "yyyy-MM-dd HH:mm:ss||yyyy-MM-dd||epoch_millis" // 日期的格式,包括时间戳
        }
      }
    }
  }
}

    注意:6.0之后不再支持一个mappings中有多个type,否则报400错误

4、添加数据

⑴ 添加的类型

    ① 指定文档id插入
    ② 自动产生文档id插入
        文档id是一个唯一的索引值,指向文档数据

⑵ 指定文档id插入

    使用PUT请求
    URL格式类型为:

  http://ES服务地址/索引/类型/指定id

    添加文档的JSON示例:

{
    "name": "ada",
    "age": 14,
    "birthday": "1970-01-01"
}

⑶ 自动生成文档id插入

    使用POST请求
    URL格式类型为:

  http://ES服务地址/索引/类型

    添加文档的JSON格式仍和上面指定id的格式一样

5、修改数据

⑴ 修改的类型

    ① 直接修改文档
    ② 脚本修改文档

⑵ 直接修改文档

    使用POST请求
    URL格式类型为:

  http://ES服务地址/索引/类型/要修改的文档的id/_update

    修改文档的JSON格式:

{
    "doc": {
        "要修改的字段": "要替换的值",
        "要修改的字段": "要替换的值"
    }
}

⑶ 脚本修改文档

    ES支持的脚本语言除了其自带的painless,还支持JavaScript和Python等

    使用POST请求
    URL格式类型为:

http://ES服务地址/索引/类型/要修改的文档的id/_update

    修改文档的JSON格式:

{
    "script": {
      "lang": "painless",
      "inline": "ctx._source.要修改的字段=修改后的值"
    }
}

    ctx指ES的上下文
    _source指当前的文档

  或者把要修改的值提出来

{
    "script": {
        "lang": "painless",
        "inline": "ctx._source.要修改的字段名 = params.要修改的字段名",
        "params": {
            "要修改的字段名": "修改后的值"
        }
    }
}

  示例:

{
    "script": {
      "lang": "painless",
      "inline": "ctx._source.name = 'aaa'"
    }
}


{
    "script": {
      "lang": "painless",
      "inline": "ctx._source.age += 14"
    }
}

  或

{
    "script": {
        "lang": "painless",
        "inline": "ctx._source.age = params.age",
        "params": {
            "age": 14
        }
    }
}

6、删除数据

⑴ 删除文档

    使用DELETE请求
    URL格式类型为:

  http://ES服务地址/索引/类型/要删除的文档的id

⑵ 删除索引

    使用DELETE请求
    URL格式类型为:

  http://ES服务地址/要删除的索引名

    或使用elasticsearch-head插件来删除索引:
    单击概览 -> 选择要删除的索引的动作 -> 删除… -> 在弹出的对话框中输入“删除” -> 单击确定即可

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值