ElasticSearch(Es的CURD)基本操作命令

Es的CURD基本操作命令

使用工具
head
kibana
IK分词器

因为Es的请求都是使用的Rest风格 所以他的请求的方式都是
PUT 创建/覆盖
POST 覆盖/编辑
GET 查询
DELETE 删除

基础命令

新增

  1. 创建索引并且指定文档的字段类型
    在这里插入图片描述
PUT test1
{
  "mappings": {
    "properties": {
      "name":{
        "type": "text"
      },
      "age":{
        "type": "long"
      },
      "sex":{
        "type": "text"
      }
    }
  }
}
  1. 创建索引并自动指定类型
    在这里插入图片描述
// 1就好比数据库的表内的ID
// _doc就代表默认类型
PUT test2/_doc/1
{
  "name":"测试默认类型",
  "age":18,
  "sex":"男"
}

查询

  1. 获取索引库的基本信息
    在这里插入图片描述
GET test1
  1. 查询索引库指定文档数据
    在这里插入图片描述
GET test2/_doc/1

查询索引下所有的文档

在这里插入图片描述

GET /test3/_doc/_search

修改

在这里插入图片描述

查询获取修改结果

在这里插入图片描述

// _update 一定要加 否则其他数据会被覆盖
POST /test2/_doc/1/_update
{
  "doc":{
    "name":"测试修改"
  }
}

GET /test2/_doc/1

删除

  1. 删除指定的索引库

在这里插入图片描述

DELETE /test1
  1. 删除指定索引库内的指定文档
    在这里插入图片描述
DELETE /test2/_doc/1

测试IK分词

在这里插入图片描述

POST _analyze
{
    "analyzer":"ik_max_word",
    "text":"你回家吃饭吗?"
}

复杂查询

精准查询

在这里插入图片描述

GET /test3/_doc/_search
{
  "query":{
    "match":{
      "name":"张三"
    }
  }
}

查询并指定返回那些字段

在这里插入图片描述

GET /test3/_doc/_search
{
  "query":{
    "match":{
      "name":"张三"
    }
  },
    "_source":["name"]
}

排序查询

在这里插入图片描述

// sort:代表排序 "_score":"代表排序的字段" order:代表排序规则 倒序还是正序 asc:正 desc:倒
GET /test3/_doc/_search
{
  "query": {
    "match": {
      "name": "张三"
    }
  },
  "_source": [
    "name"
  ],
  "sort": {
    "_score": {
      "order": "asc"
    }
  }
}

分页查询

在这里插入图片描述

//   "from": 当前页   "size": 展示几条
GET /test3/_doc/_search
{
  "query": {
    "match": {
      "name": "张三"
    }
  },
  "_source": [
    "name"
  ],
  "sort": {
    "_score": {
      "order": "asc"
    }
  },
  "from":0,
  "size":1
}

多条件查询

1.and

在这里插入图片描述

2. or

在这里插入图片描述

3. not

在这里插入图片描述

过滤查询

在这里插入图片描述

// "filter":"代表的就是过滤" age:过滤的字段
// gt:大于 lt:小于 gte:大于等于 lte:小于等于
GET /test3/_doc/_search
{
  "query": {
    "bool": {
      "must_not": [
        {
          "match": {
            "age": 25
          }
        }
      ],
      "filter": {
        "range": {
          "age": {
            "gt": 18,
            "lt": 27
          }
        }
      }
    }
  },
  "_source": [
    "name",
    "age"
  ],
  "sort": {
    "_score": {
      "order": "asc"
    }
  },
  "from": 0,
  "size": 10
}

多空格查询

在这里插入图片描述

// "name":"哈哈 默认的" 查询name字段带有 哈哈 或者 默认的 数据
GET /test3/_doc/_search
{
  "query": {
    "match": {
      "name": "张三 王武"
    }
  },
  "_source": [
    "name",
    "age"
  ],
  "sort": {
    "_score": {
      "order": "asc"
    }
  },
  "from": 0,
  "size": 10
}

高亮查询

在这里插入图片描述

// highlight: 代表的就是高亮查询
// name:代表高亮的字段
// pre_tags:代表的是高亮自定标签格式开头
// post_tags:代表的是高亮自定标签格式结尾
// 如果不指定上面的两个 ES会有自动的标签
GET /test3/_doc/_search
{
  "query": {
    "match": {
      "name": "张三 王武"
    }
  },
  "highlight": {
    "pre_tags": "<p>",
    "post_tags": "</p>",
    "fields": {
      "name": {}
    }
  },
  "_source": [
    "name",
    "age"
  ],
  "sort": {
    "_score": {
      "order": "asc"
    }
  },
  "from": 0,
  "size": 10
}

查询所有的索引库

在这里插入图片描述

GET /_cat/indices?v

聚合查询

分组查询

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

// aggs 聚合操作
// sex_group 自定义的名称
// terms 分组标识 也可以跟换其他的聚合
// field 根据那个字段分组
GET /test3/_doc/_search
{
  "aggs":{
    "sex_group":{
      "terms":{
        "field":"age"
      }
    }
  },
  "size":0
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

TianYuuuuuuuuuuu

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值