操作ElasticSearch分为脚本操作(运维人员常用)和java操作(开发人员常用),今天小编主要介绍脚本操作方式,之前小编讲解了ES如何搭建,并介绍了IK分词器,今天基于ES环境来继续学习。

  • Restful风格
    定义一种接口的规范,基于Http协议,可以使用XML、JSON格式定义,每个URI代表一种资源,客户端使用4种操作方式对服务端资源进行操作,GET:获取资源、POST:用来新建资源或则更新资源、PUT:用来更新资源、DELETE:用来删除资源。
  • 操作索引
    使用postman进行如下操作。
  • 添加索引
    PUT请求方式,http://192.268.149.135:9200/goods_index1
  • Es脚本bat脚本清理数据 es脚本更新_经验分享

  • 查询索引
    用GET请求。
    查询一个:GET请求方式,http://192.268.149.135:9200/goods_index1
    查询多个:GET请求方式,http://192.268.149.135:9200/goods_index1, goods_index2
    查询全部:GET请求方式,http://192.268.149.135:9200/_all
  • Es脚本bat脚本清理数据 es脚本更新_分词器_02

  • 删除索引
    用DELETE请求方式
  • Es脚本bat脚本清理数据 es脚本更新_经验分享_03

  • 关闭索引
    用POST请求方式,关闭后可以查到但是不能新增数据。
    POST请求方式,http://192.268.149.135:9200/goods_index1/_close
  • Es脚本bat脚本清理数据 es脚本更新_Es脚本bat脚本清理数据_04

  • 打开索引
    用POST请求方式
    POST请求方式,http://192.268.149.135:9200/goods_index1/_open
  • Es脚本bat脚本清理数据 es脚本更新_elasticsearch_05

  • 总结
  • Es脚本bat脚本清理数据 es脚本更新_数据类型_06

  • 操作映射
    ES支持两种数据类型:简单数据类型、复杂数据类型。
  • 简单数据类型
    字符串:
    1、text: 会分词,不支持聚合
    2、keyword:不会分词,将全部内容作为一个词条,支持聚合
    区别:比如要分词的是“华为手机“
    Text:华为、手机
    Keyword:华为手机
    数值:
  • Es脚本bat脚本清理数据 es脚本更新_Es脚本bat脚本清理数据_07

  • 布尔:
    Boolean
    二进制:(一般不会用)
    Binary
    范围类型:
  • Es脚本bat脚本清理数据 es脚本更新_经验分享_08

  • 日期
  • 复杂数据类型
    数组[]
    对象{}
  • Es脚本bat脚本清理数据 es脚本更新_分词器_09

  • 操作映射
    用kibana进行操作,与postman的区别不用加地址,因为直接在kibana进行操作,执行GET 索引名,等操作
    添加映射
  • Es脚本bat脚本清理数据 es脚本更新_分词器_10

  • 查询下
  • Es脚本bat脚本清理数据 es脚本更新_分词器_11

  • 查询映射
  • Es脚本bat脚本清理数据 es脚本更新_elasticsearch_12

  • 创建索引并添加映射
  • Es脚本bat脚本清理数据 es脚本更新_Es脚本bat脚本清理数据_13

  • 添加字段
  • Es脚本bat脚本清理数据 es脚本更新_分词器_14

  • 查询一下
  • Es脚本bat脚本清理数据 es脚本更新_elasticsearch_15

  • 操作文档
    添加文档指定ID(用PUT或POST请求方式)
  • Es脚本bat脚本清理数据 es脚本更新_Es脚本bat脚本清理数据_16

  • 查询文档指定ID
  • Es脚本bat脚本清理数据 es脚本更新_Es脚本bat脚本清理数据_17

  • 添加文档不指定ID(用POST请求方式)
  • Es脚本bat脚本清理数据 es脚本更新_数据类型_18


  • Es脚本bat脚本清理数据 es脚本更新_elasticsearch_19

  • 查询文档不指定ID
  • Es脚本bat脚本清理数据 es脚本更新_Es脚本bat脚本清理数据_20


  • Es脚本bat脚本清理数据 es脚本更新_elasticsearch_21

  • 查询所有文档
  • Es脚本bat脚本清理数据 es脚本更新_数据类型_22

  • 修改文档
    Id存在即修改,id不存在即添加
  • Es脚本bat脚本清理数据 es脚本更新_数据类型_23


  • Es脚本bat脚本清理数据 es脚本更新_Es脚本bat脚本清理数据_24

  • 根据id删除文档
  • Es脚本bat脚本清理数据 es脚本更新_数据类型_25

  • 总结
  • Es脚本bat脚本清理数据 es脚本更新_Es脚本bat脚本清理数据_26

  • 使用IK分词器
    分词器的下载,之前的文章已经写过,这里不做介绍,IK分词器分为ik_max_word和ik_smart模式,ik_max_word是细粒度的,ik_smart是粗粒度的。
    打开kibana浏览器,进行操作,首先使用ik_smart粗粒度的
  • Es脚本bat脚本清理数据 es脚本更新_分词器_27

  • 再执行细粒度ik_max_word
  • Es脚本bat脚本清理数据 es脚本更新_数据类型_28


  • Es脚本bat脚本清理数据 es脚本更新_elasticsearch_29

  • 查询文档
  1. 词条查询(term)
    词条查询不会分析查询条件,只要当词条和查询字符串完全匹配时才会查询
  2. 全文查询(match)
    全文查询会分析查询条件,先将查询条件进行分词,然后查询,求并集
  3. 创建索引,指定映射,指定使用ik分词器。
  4. 总结