首页 > 其他 > 详细

Kibana简单操作Elasticsearch

时间:2019-06-10 14:31:53      阅读:135      评论:0      收藏:0      [点我收藏+]

上一篇已经安装Elasticsearch的两个节点 和 Kibana现在进行简单的操作

技术分享图片简单理解对应为关系型数据库的   数据库  表  一行记录

 

技术分享图片     如果在postMan中操作需要根据上图的方式来进行操作

技术分享图片 分片shard是es分布式系统的高可用方案 es会将一份数据进行分片自己理解为分解数据房租不同的机器上(默认为5份可以配置) 备份shard默认为1也就是每个分片都有一个备份,如果其中的一个分片宕机的话将由备份进行其他的请求操作实现高可用 , 相同的分片不能和相对于的备份存储在一台机器当中。

 

PUT  /people    创建一个 人 的索引


POST /people/man/  为索引添加数据 类型会自动创建
{
"name":"redis",
"school":"qinghua",
"introduce":"我是我是我jianqiao",
"age":28,
"birthday":"1996-06-22",
"score":479
}

技术分享图片

现在修改数据 有两个rabbitmq修改为scala

POST /people/man/AWs_LjUOYHh6lG16ttAd/_update
{
"doc": {
"name":"scala"
}
}

技术分享图片kibana还是挺方便的可以自动补全

 

文档删除

 技术分享图片

 

删除索引可以在head中操作也可以脚本

技术分享图片   

------------------------------------------------------------查询是es的比较强的一个点----------------------------------------------------------------------------

GET _search
{
"query": {
"match_all": {}
}
}      查询所有

-----------------------------

GET _search
{
    "query":{
        "match_all":{

        }
    },
    "from":1,
    "size":3
}
   添加分页 from从第几个开始size几个

--------------------------

GET _search
{
    "query":{
        "match_all":{

        }
    },
    "sort":[
        {
            "age":{
                "order":"desc"
            }
        }
    ],
    "_source":[
        "age"
    ]
}      
根据年龄排序 _source显示相关的字段即可 查看更方便

-------------------------

GET _search
{
    "query":{
        "match":{
            "name":"elasticSearch入门 "
        }
    }
}
 es会将elasticSearch入门  进行拆分为elasticSearch和入门  进行匹配只要匹配其中一个都会进行返回

 ---------------------

GET _search
{
    "query":{
        "match_phrase":{
            "name":"rabbitmq"
        }
    }
}
  这个是完整匹配必须一模一样的才进行返回如 rabbitmq    rabbitmq  A 但是rabbitAmq不行

-------------------------------------------------

GET _search
{
    "query":{
        "terms":{
            "name":[
                "php",
                "ajax"
            ]
        }
    }
}
 查询名字是php 和ajax的doc 完全匹配

GET _search
{
    "query":{
        "term":{
            "score":"479"
        }
    }
}
一个terms和term

------------------------------------------------------

GET _search
{

    "query":{
        "range":{
            "score":{
                "gte":400,
                "lte":500
            }
        }
    }
}

 范围查询400-500分数的doc   可以比较时间now表示当前时间

-----------------------------------------------------

GET _search
{
    "size":0,
    "aggs":{
        "group_haha":{
            "terms":{
                "field":"age"
            }
        }
    }
}
 聚合查询查询相同年级的人数有多少个

GET _search
{
    "size":0,
    "aggs":{
        "group_haha":{
            "terms":{
                "field":"age"
            }
        },
        "group_hehe":{
            "terms":{
                "field":"score"
            }
        }
    }
}
可以进行多个聚合同时返回

-------------------------

GET _search技术分享图片
{
    "size":0,
    "aggs":{
        "group_stats":{
            "stats":{
                "field":"score"
            }
        }
    }
}
 可以进行计算返回最大最小平均总和也可以直接查询最小 将关键字stats、改为min或max

--------------------------

GET _search
{
    "query":{
        "multi_match":{
            "query":"java",
            "fields":[
                "introduce",
                "name"
            ]
        }
    }
}
    multi_match名称和介绍包含java就符合条件

------------------------

GET _search
{
    "query":{
        "query_string":{
            "fields":[
                "introduce"
            ],
            "query":"java and jianqiao"
        }
    }
}

 

GET _search
{
    "query":{
        "query_string":{
            "query":"(java and jianqiao) OR scala"
        }
    }
}

语法查询感觉这个比较强大可以使用关键字 and 和or  fields可以去除可以多个,去除之后查询整条doc

-----------------------------

GET _search
{
    "query":{
        "bool":{
            "filter":{
                "term":{
                    "age":"19"
                }
            }
        }
    }
}
 过滤查询只查看年龄是19岁的doc  term 和terms都可以  

--------------------------------------

GET _search
  {
    "query":{
        "bool":{
            "should":[
                {
                    "match":{
                        "name":"php"
                    }
                },
                {
                    "match":{
                        "age":"18"
                    }
                }
            ]
        }
    }
}
   bool   should应当满足条件满足其中一个就可以 或

-------------------------------------------------------

GET _search
{
    "query":{
        "bool":{
            "must":[
                {
                    "match":{
                        "name":"php"
                    }
                },
                {
                    "match":{
                        "age":"18"
                    }
                }
            ]
        }
    }
}
  两个条件都要满足 与的关系

--------------------------------

GET _search
{
    "query":{
        "bool":{
            "must_not":[
                {
                    "term":{
                        "name":"php"
                    }
                }
            ]
        }
    }
}
  不显示不看名称是php的doc

版本为5.2.0不版本可能有差异,都是自学文章欢迎错误指正  

 

Kibana简单操作Elasticsearch

原文:https://www.cnblogs.com/jiahaoJAVA/p/10996745.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!