使用postman操作ES

概述

开发中,我们经常会要操作ES,一般需要下载工具才能管理ES。如:head-masterkibanapostman等,本文介绍使用postman操作ES,shopping索引名。注:请在postman设置headersContent-Type值为application/jsonbody raw 表示请将相关参数放在Body raw中。

创建索引

PUT http://127.0.0.1:9200/shopping

索引查询

查询单个索引
GET http://127.0.0.1:9200/shopping

查询所有
GET http://127.0.0.1:9200/_cat/indices?v

索引删除

DELETE http://127.0.0.1:9200/shopping

文档创建

POST http://127.0.0.1:9200/shopping/_doc  

or   创建指定id

http://127.0.0.1:9200/shopping/_doc/10086

http://127.0.0.1:9200/shopping/_create/1000

body raw 
{
 "title":"小米手机",
 "category":"小米",
 "images":"http://www.gulixueyuan.com/xm.jpg",
 "price":4999.00
}


文档查询

主键查询
GET http://127.0.0.1:9200/shopping/_doc/10086
查询所有
GET http://127.0.0.1:9200/shopping/_search    headers    Content-Type  -> application/json

文档修改

全量修改
PUT http://127.0.0.1:9200/shopping/_doc/10086
body raw 
{
 "title":"华为手机",
 "category":"华为",
 "images":"http://www.gulixueyuan.com/hw.jpg",
 "price":4999.00
}

局部修改
POST http://127.0.0.1:9200/shopping/_update/10086
body raw 
{
    "doc": {
        "title": "国产手机"
    }
}

删除文档

DELETE http://127.0.0.1:9200/shopping/_doc/10086

组合查询

单个条件查询带参数

GET http://127.0.0.1:9200/shopping/_search
body raw 
{
    //请求参数拼在地址栏可能会乱码,所以推荐放在请求体中
    "query": {
        "match": {
            "category": "小米"
        }
    }
}

条件查询分页

GET http://127.0.0.1:9200/shopping/_search
body raw 
{
    "query": {
        "match_all": {}
    },
    "from": 0, //偏移量,0表示第一页,即页码-1
    "size": 2, //每页的个数
    "_source": [
        "title" //查询结果仅显示title字段
    ],
    "sort": {
        "price": {
            "order": "asc" //asc升序,desc降序
        }
    }
}


多条件查询

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

{
    //bool表示条件的意思
    "query": {
        "bool": {
            //must表示多个条件必须同时成立,[]表示数组
            "must": [
                {
                    "match": {
                        "category": "小米"
                    }
                },
                {
                    "match": {
                        "price": 3999.00
                    }
                }
            ]
        }
    }
}

or 

{
    //bool表示条件的意思
    "query": {
        "bool": {
            //should表示或者,华为或者小米满足一个就能查出来
            //效果不明显的话自行创建/修改数据
            "should": [
                {
                    "match": {
                        "category": "小米"
                    }
                },
                {
                    "match": {
                        "category": "华为"
                    }
                }
            ]
        }
    }
}



范围查询

GET http://127.0.0.1:9200/shopping/_search
body raw 
{
    //bool表示条件的意思
    "query": {
        "bool": {
            //should表示或者,华为或者小米满足一个就能查出来
            "should": [
                {
                    "match": {
                        "category": "小米"
                    }
                },
                {
                    "match": {
                        "category": "华为"
                    }
                }
            ],
            "filter": {
                "range": {
                    "price": {
                        "gt": 2000
                    }
                }
            }
        }
    }
}

全文检索

GET http://127.0.0.1:9200/shopping/_search
body raw 
{
    //es会将数据文字进行分词拆解操作,并将拆解后的数据保存到倒排索引中。这样即使只使用文字的一部分也能查到数据。
    "query": {
        "match": {
            "category": "米" //可以查看小米
            //"category": "小华" //小华可以同时查到小米和华为
        }
    }
}

完全匹配

GET http://127.0.0.1:9200/shopping/_search
body raw 
{
    "query": {
        "match_phrase": {
            "category": "小华" //匹配不到小米和华为,但是米还是可以匹配到小米
            //"category": "米"
        }
    }
}

高亮查询

GET http://127.0.0.1:9200/shopping/_search
body raw 
{
    "query": {
        "match_phrase": {
            "category": "小米"
        }
    },
    "highlight": {
        "fields": {
            "category": {}
        }
    }
}

聚合查询

GET http://127.0.0.1:9200/shopping/_search
body raw 
{
    //想要对查询结果进行分组或者统计分析,要修改请求体body
    "aggs": { //聚合操作
        "price_group": { //名称,随意取名
            "terms": { //可选项:分组terms/平均值avg/最大值max/最小值min
                "field": "price" //(分组)字段
            }
        }
    },
    "size": 0 //不显示原始数据,只看分组数据
}

stats 聚合查询
{
    //想要对查询结果进行分组或者统计分析,要修改请求体body
    "aggs": { //聚合操作
        "stats_age": { //名称,随意取名
            "stats": { //可选项:分组terms/平均值avg/最大值max/最小值min
                "field": "price" //(分组)字段
            }
        }
    },
    "size": 0 //不显示原始数据,只看分组数据
}

参考资料

  • 2
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

Tangyuewei

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

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

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

打赏作者

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

抵扣说明:

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

余额充值