ES 数据管理1

一、概述

  ES 是面向文档(document oriented)的,意味着它可以存储真哥哥对象或文档(document).

  它不仅是存储,还会缩阴每个文档的内容使之可以被搜索。 ES 使用 JSON 作为文档序列化格式。

  ES存储一个员工文档格式示例如下:

{
  "name":"张三",
  "age":18,
  "email":"123456789@qq.com",
  "interests":["游泳","滑雪"]  
}

二、基本操作

  1、 创建索引

    格式: PUT /索引名称

例: PUT /es_db

  2、查询索引

    格式: GET /索引名称

例: GET /es_db

  3、删除索引

    格式: DELETE /索引名称

例: DELETE /es_db

  4、添加文档

    格式: PUT /索引名称/类型/id

例
PUT /es_db/_doc/1
{
    "name":"张三",
    "sex":1,
    "age",18,
    "address":"南天门西行200米",
    "remark":"java developer"
}

  5、修改文档

    格式: PUT /索引名称/类型/id

PUT /es_db/_doc/1
{
    "name":"张二狗",
    "sex":2,
    "age",36,
    "address":"蓬莱仙岛C座108户",
    "remark":"boss"
}

  6、查询文档

    格式: GET /索引名称/类型/id

例: GET /es_db/_doc/1

  7、 删除文档

    格式: DELETE /索引名称/类型/id

例: DELETE /es_db/_doc/1

三、 查询操作

使用 8.2.0 版本, 经测试, 不需要加 _doc 类型, 否则会报错

  1、 查询当前类型中所有文档  _search

例: GET /es_db/_search
// SQL : select * from student

  2、条件查询,如要查询 age 等于 28 岁的  _search?q=*:***

例: GET /es_db/_search?q=age:28
// SQL  select * from student where age = 28

   3、 范围查询,如要查询 age 在 18 到 23 之间的  _search?q=***[** TO **]  注意: TO 必须大写

例: GET /es_db/_search?q=age[18 TO 23]
// SQL   select * from student where age between 18 and 23

  4、 根据多个 ID 进行批量查询  _mget

例: 
GET /es_db/_mget
{
    "ids":["1","2"]  
}

//SQL  select * from student where id in (1,2)

  5、 查询年龄小于等于 32 岁的  :<=

例: GET /es_db/_search?q=age:<=32
// SQL  select * from student wehre age <= 32

  6、 查询年龄大于 32 岁的  :>

例: GET /es_db/_search?q=age:>32
// SQL  select * from student wehre age > 32

  7、 分页查询  from=*&size=*

例: GET /es_db/_search?q=age[12 TO 36]&from=0&size=1
//SQL  select * from student where age between 12 and 36 limit 0,1

  8、 对查询结果只输出某些字段   _source=字段,字段

例:GET /es_db/_search?_source=name,age
//SQL select name,age from student

  9、 对查询结果排序 sort=字段:desc/asc

例: GET /es_db/_search?sort=age:desc
//SQL select * from student order by age desc

 

posted @ 2022-06-28 18:27  长弓射大狗  阅读(103)  评论(0)    收藏  举报