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 // 表示不能被索引 不能按这个字段查询
        }
    }
}

 

 

posted @ 2021-07-29 16:51  Kris-Q  阅读(42)  评论(0编辑  收藏  举报