ElasticSearch基本使用

使用PostMan操作

创建索引

# 创建名为shopping的索引名称
PUT http://127.0.0.1:9200/shopping
  • 响应
    在这里插入图片描述

查看索引

# 查看名为shopping的索引
GET http://127.0.0.1:9200/shopping
  • 响应
    在这里插入图片描述

查看所有索引

GET http://127.0.0.1:9200/_cat/indices?v
  • 响应
    在这里插入图片描述

删除索引

# 删除名为shopping的索引
DELETE http://127.0.0.1:9200/shopping
  • 响应
    在这里插入图片描述

创建文档数据

因为幂等性的原因(返回的_id是随机生成的),只能使用POST
(幂等性:就是用户对于同一操作发起的一次请求或者多次请求的结果是一致的,不会因为多次点击而产生了副作用)

# 在shopping中创建一个文档,需要有请求体(JSON格式) _doc表示文档类型的数据
POST  http://127.0.0.1:9200/shopping/_doc
  • 添加数据
    在这里插入图片描述
  • 响应
    在这里插入图片描述
    返回的"_id"类似于es生成的主键id,每次post生成的_id都是不一样的

自定义_id

此时使用PUT请求也是可以的

# 在shopping中创建一个文档,需要有请求体(JSON格式),可以自定义生成的_id的值
POST/PUT  http://127.0.0.1:9200/shopping/_doc/1001
  • 响应
    在这里插入图片描述
    此时返回的_id为自定义的id了

查询

# 1001表示添加数据后返回的_id的值
GET http://127.0.0.1:9200/shopping/_doc/1001
  • 响应
    在这里插入图片描述
  • 如何查询的id不存在
    在这里插入图片描述

查收所有

# 查询shopping下所有数据
GET http://127.0.0.1:9200/shopping/_search

在这里插入图片描述

修改

完全覆盖性修改

  • 根据id完全覆盖掉数据
# 完全覆盖掉_id为1001的数据
PUT http://127.0.0.1:9200/shopping/_doc/1001
  • json数据
    在这里插入图片描述
  • 响应
    在这里插入图片描述
    此时再查询数据,得到的是添加的json数据,原数据已经被覆盖,类似Map

局部性修改

只修改原数据里面的某一项的值
例如只修改age的值,其他数据不修改
在这里插入图片描述

# 修改age的值,需要提交请求体(JSON)
# 使用_doc表示新增, _update表示修改
POST http://127.0.0.1:9200/shopping/_update/1001
  • 提交的数据
    在这里插入图片描述
  • 响应
    在这里插入图片描述
    此时再次根据id查询可以看到age已经被修改为18
    在这里插入图片描述

删除数据

# 根据id删除数据
DELETE http://127.0.0.1:9200/shopping/_doc/1001
  • 响应
    在这里插入图片描述

条件查询

地址栏拼接

会出现乱码形式

# 根据book查询含有老人的数据 q表示query
GET http://127.0.0.1:9200/shopping/_search?q=book:老人
  • 响应
    在这里插入图片描述

请求体格式(推荐)

GET http://127.0.0.1:9200/shopping/_search

query表示查询,match表示匹配查询的意思
在这里插入图片描述

  • 响应
    在这里插入图片描述

全量查询

通过请求体形式查询全部

GET http://127.0.0.1:9200/shopping/_search

match_all表示全量查询
在这里插入图片描述

分页查询

通过请求体形式分页查询

GET http://127.0.0.1:9200/shopping/_search
  • from 表示当前页数据起始位置
  • size 每页条数
    在这里插入图片描述

只查询指定的数据

  • _source表示指定哪些数据被查询出来
    在这里插入图片描述
  • 响应
    在这里插入图片描述
    可以看到只有price、book被查询出来

排序

  • sort 可以指定字段进行排序(升序/降序)
    对price字段进行降序排序
    price是文档内的字段
    order表示排序规则
    在这里插入图片描述
  • 响应
    价格进行了降序排序
    在这里插入图片描述

条件组合查询

  • bool 表示多个条件
  • must 表示多个条件必须要同时成立 类似and
  • mutch 表示匹配
{
    "query":{
        "bool": {
            "must":[
                {
                    "match":{
                        "book": "老人"
                    }
                },
                {
                    "match":{
                        "price": 121
                    }
                }
            ]
        }
    }
    
}

表示 book为老人 且 price为121
-

  • should 表示或者 类似or
{
    "query":{
        "bool": {
            "should":[
                {
                    "match":{
                        "book": "老人"
                    }
                },
                {
                    "match":{
                        "price": 121
                    }
                }
            ]
        }
    }
    
}
  • 表示 book为老人 或者 price为121

范围查询

  • filter 表示过滤
  • range 表示范围
  • gt 表示大于
{
    "query":{
        "bool": {
            "must":[
            ],
            "filter":{
                "rang":{
                    "price":{
                        "gt": 5000 
                    }
                }
            }
        }
    }
    
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

hanlin-hl

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

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

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

打赏作者

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

抵扣说明:

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

余额充值