• ElasticSearch基本操作


    1.创建索引(PUT)

    http://127.0.0.1:9200/my_index

    2.获取指定索引(GET)

    http://127.0.0.1:9200/my_index

    3.获取全部索引(GET)

    http://127.0.0.1:9200/_cat/indices?v

    4.删除索引(delete)

    http://127.0.0.1:9200/my_index

    5.创建文档(post)【自定义id】

    http://127.0.0.1:9200/my_index/_doc/1001

    {
      "name":"张三",
      "age":20
    }

    6.查询 -- 主键查询 &全查询 (get)

    http://127.0.0.1:9200/my_index/_doc/1001 

    http://127.0.0.1:9200/my_index/_search

    7.全量修改(put)&局部修改(post)

    http://127.0.0.1:9200/my_index/_doc/1001

    {
        "name":"小刘",
        "age":25
    }
    http://127.0.0.1:9200/my_index/_update/1001
    {
        "doc":{
            "name":"李四"
        }
    }

    8.删除(delete)

    http://127.0.0.1:9200/my_index/_doc/1001

    9.条件查询&分页查询&查询排序

    http://127.0.0.1:9200/my_index/_search

    {
        "query":{
            "match":{
                "name":"李四" //指定条件查询
            }
        }
    }
     
    {
        "query":{
            "match_all":{ //查全部
            }
        },
        "from":0,  //当前页
        "size":5,  //页码
        "_source":["name"], //指定查询字段
      "sort":{
        "age":{
          "order":"desc"
        }
      }
    }

    10.多条件查询&范围查询

    http://127.0.0.1:9200/my_index/_search
    {
        "query":{
            "bool":{
                "must":[ //类似and
            "should":[ //类似or
                    {
                        "match":{
                            "name":"李四"
                        }
                    },
                    {
                        "match":{
                            "age":"25"
                        }
                    }
                ], 
           "filter":{ //过滤
                    "ranger":{ //范围
                        "age" : { //年龄字段
                            "gt" : 20 //大于20
                        }
                    }
                }
            }
        }
    }

    11.全文检索&完全匹配&高亮查询

    http://127.0.0.1:9200/my_index/_search

    {
        "query":{
            "match_phrase":{ //完全匹配
            "match":{ //模糊匹配
                "name":"李四"
            }
        },
      "highlight":{
        "fields":{
          "name":{} //高亮字段
        }
      }
    }

    12.聚合查询

    http://127.0.0.1:9200/my_index/_search

    {
        "aggs":{ //聚合操作
            "age_group":{ //自定义名称
                "terms": { //分组
                    "field":"age" //分组字段
                }
            },
            "age_avg":{ //自定义名称
                "avg": { //平均值
                    "field":"age" //分组字段
                }
            }
        },
        "size":0 //只显示统计结果,不看原始数据
    }

    13.映射关系

    http://127.0.0.1:9200/my_index/_mapping

    {
        "properties":{
            "name" : {
                "type" : "text", //表示可以分词查询
                "index" : true //表示可以索引查询
            },
            "age" : {
                "type" : "keyword", //表示完全匹配
                "index" : false // 表示不能被索引 不能按这个字段查询
            }
        }
    }
  • 相关阅读:
    一个基于C++11的定时器队列(timerfd,poll实现)
    Mysql学习(一)添加一个新的用户并用golang操作Mysql
    epoll使用详解
    基于C++11实现线程池的工作原理
    ubuntu18.04初始化配置
    muduo网络库学习笔记(五) 链接器Connector与监听器Acceptor
    muduo网络库学习笔记(四) 通过eventfd实现的事件通知机制
    muduo网络库学习笔记(三)TimerQueue定时器队列
    关于 JavaScript 的 null 和 undefined,判断 null 的真实类型
    vue 双向数据绑定原理
  • 原文地址:https://www.cnblogs.com/myJuly/p/15075925.html
Copyright © 2020-2023  润新知