栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 前沿技术 > 大数据 > 大数据系统

kibana Dev tools操作es的常用指令

kibana Dev tools操作es的常用指令

自我学习的,将练习的kibana的操作整理记录下。

##查看索引下所有数据
post /shopping/_search
## 查看所有数据
get /_cat/indices?v

##创建索引
put /shopping

##获取索引
get /shopping

##查看文档时,需要指明文档的唯一性标识,类似于 MySQL 中数据的主键查询
get /shopping/_doc/1

##说明:因为7版本之后,ES不再支持一个索引(index)可以创建多个类型(type),所以cmcc/后边不再需要写入类型名称,而是统一使用_create代替即可,同样的,查询操作使用_doc代替即可

##文档创建  请求必须是post!put会报错
post /shopping/_create/3
{
    "title":"大米手机",
    "category":"大米",
    "images":"http://www.gulixueyuan.com/xm.jpg",
    "price":4999.00
}
## 不指定id,es会自动分配一个随机id
post /shopping/_doc
{
    "title":"小米手机",
    "category":"小米",
    "images":"http://www.gulixueyuan.com/xm.jpg",
    "price":3999.00
}

##全量修改  若id不存在,则会新增
post /shopping/_doc/1
{
    "title":"锤子手机",
    "category":"锤子",
    "images":"http://www.gulixueyuan.com/xm.jpg",
    "price":2000.00
}

##局部修改 注意:局部为_update,若为_doc 则全量修改,局部json格式加“doc”,不然会报错
post /shopping/_update/1
{
  "doc": {
    "category":"锤子罗永浩"
  }
    
}

# 删除一个文档不会立即从磁盘上移除,它只是被标记成已删除(逻辑删除)。
delete /shopping/_doc/1

####### 查询 #######
# URL带参查询
post /shopping/_search?q=category:锤子

# 请求体带参查询
post /shopping/_search
{
    "query":{
        "match":{
            "category":"锤子"
        }
    }
}
# 带请求体方式的查找所有内容
post /shopping/_search
{
    "query":{
        "match_all":{}
    }
}

# 查询指定字段
post /shopping/_search
{
    "query":{
        "match_all":{}
    },
    "_source":["title"]
}

# 分页查询
post /shopping/_search
{
    "query":{
        "match_all":{}
    },
    "from":0,
    "size":2
}

# 查询排序
post /shopping/_search
{
    "query":{
        "match_all":{}
    },
    "sort":{
        "price":{
            "order":"desc"
        }
    }
}

###### 多条件查询 & 范围查询 #####
# 多条件查询  注意: (must相当于数据库的&&!!!)
post /shopping/_search
{
    "query":{
        "bool":{
            "must":[{
                "match":{
                    "category":"小米"
                }
            },{
                "match":{
                    "price":3999.00
                }
            }]
        }
    }
}

# 注意: (should相当于数据库的|| !!!)
post /shopping/_search 
{
    "query":{
        "bool":{
            "should":[{
                "match":{
                    "category":"小米"
                }
            },{
                "match":{
                    "category":"华为"
                }
            }]
        }
    }
}

# 范围查询
post /shopping/_search 
{
    "query":{
        "bool":{
            "should":[{
                "match":{
                    "category":"小米"
                }
            },{
                "match":{
                    "category":"华为"
                }
            }],
            "filter":{
                "range":{
                    "price":{
                        "gt":3000
                    }
                }
            }
        }
    }
}

#########  全文检索 & 完全匹配 & 高亮查询 ###########
# 全文检索
post /shopping/_search
{
    "query":{
        "match":{
            "category" : "小华"
        }
    }
}

# 完全匹配
post /shopping/_search
{
    "query":{
        "match_phrase":{
            "category" : "华"
        }
    }
}

# 高亮查询  查出来的字段会高亮显示
post /shopping/_search
{
    "query":{
        "match_phrase":{
            "category" : "为"
        }
    },
    "highlight":{
        "fields":{
            "category":{}
        }
    }
}

############# 聚合查询 ##############
# 按price字段分组; 
get /shopping/_search
{
    "aggs":{//聚合操作
        "price_group":{//名称,随意起名
            "terms":{//分组
                "field":"price"//分组字段
            }
        }
    }
}

## 上面返回结果会附带原始数据的。若不想要不附带原始数据的结果,向 ES 服务器发 GET请求 
get /shopping/_search
{
    "aggs":{
        "price_group":{
            "terms":{
                "field":"price"
            }
        }
    },
    "size":0
}

# 若想对所有手机价格求平均值。
get /shopping/_search
{
    "aggs":{
        "price_avg":{//名称,随意起名
            "avg":{//求平均
                "field":"price"
            }
        }
    },
    "size":0
}

###### 映射关系 ######
# 先创建一个索引
put /user
#创建映射
put /user/_mapping
{
    "properties": {
        "name":{
            "type": "text",
            "index": true
        },
        "sex":{
            "type": "keyword",
            "index": true
        },
        "tel":{
            "type": "keyword",
            "index": false
        }
    }
}
# 查询映射
get /user/_mapping
# 增加数据
put /user/_create/1
{
    "name":"小米",
    "sex":"男的",
    "tel":"1111"
}
get /user/_search
{
    "query":{
        "match":{
            "name":"小"
        }
    }
}
#这时查不到数据
get /user/_search  
{
    "query":{
        "match":{
            "sex":"男"
        }
    }
}
#找不想要的结果,只因创建映射时"sex"的类型为"keyword"。"sex"只能完全为”男的“,才能得出原数据。
get /user/_search  
{
    "query":{
        "match":{
            "sex":"男的"
        }
    }
}

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/629961.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号