es7.16.2基础操作(一)

## 节点
GET _cat/nodes

## 查索引
GET _cat/indices

## 批量插入
POST customer/external/_bulk
{"index":{"_id":1}}
{"id":1,"name":"张三","age":10,"sex":"男","email":"zhangsan@gmail.com","address":"湖南省长沙市岳麓区芯城科技园二期8栋"}
{"index":{"_id":2}}
{"id":2,"name":"李四","age":20,"sex":"男","email":"lisi@gmail.com","address":"湖南省长沙市岳麓区芯城科技园二期9栋"}
{"index":{"_id":3}}
{"id":3,"name":"王五","age":30,"sex":"女","email":"wangwu@gmail.com","address":"湖南省长沙市岳麓区芯城科技园二期10栋"}
{"index":{"_id":4}}
{"id":4,"name":"张小雷","age":18,"sex":"女","email":"zhangxiaolei@gmail.com","address":"湖南省长沙市岳麓区芯城科技园二期10栋"}
{"index":{"_id":5}}
{"id":5,"name":"文小刀","age":22,"sex":"男","email":"wenxiaodao@gmail.com","address":"湖南省长沙市岳麓区芯城科技园二期10栋"}
{"index":{"_id":6}}
{"id":6,"name":"张小雪","age":16,"sex":"女","email":"zhangxiaoxue@gmail.com","address":"湖南省长沙市岳麓区芯城科技园二期10栋"}
{"index":{"_id":7}}
{"id":7,"name":"王小二","age":26,"sex":"男","email":"wangxiaoer@gmail.com","address":"湖南省长沙市岳麓区芯城科技园一期10栋"}
{"index":{"_id":8}}
{"id":8,"name":"刘溜","age":28,"sex":"男","email":"liuliu@gmail.com","address":"湖南省长沙市岳麓区芯城科技园一期14栋"}
{"index":{"_id":9}}
{"id":9,"name":"赵四","age":48,"sex":"男","email":"zhaosi@gmail.com","address":"湖南省长沙市岳麓区中电软件园总部大楼"}

## 单个更新
POST tvs/_update/7
{"doc":{"sold_date":"2021-10-11"}}

## 所有
GET customer/_search
{
  "query": {
    "match_all": {}
  }
}
-- 分词
GET customer/_analyze
{
  "field": "name",
  "text": ["李四"]
}
-- 子聚合
GET customer/_search
{
  "aggs": {
    "aggs_sex": {
      "terms": {
        "field": "sex.keyword",
        "size": 10
      },
      "aggs": {
        "aggs_avg_age": {
          "stats": {
            "field": "age"
          }
        }
      }
    }
  },
  "size": 0
}

-- cardinality 去重统计
GET customer/_search
{
  "size": 0,
  "aggs": {
    "aggs_age": {
      "cardinality": {
        "field": "age"
      }
    }
  }
}
-- 求和
GET customer/_search
{
  "size": 0,
  "aggs": {
    "aggs_age_sum": {
      "sum": {
        "field": "age"
      }
    }
  }
}
-- top-hits:按性别分组,分别求两条最大记录
GET customer/_search
{
  "size": 0,
  "aggs": {
    "aggs_sex": {
      "terms": {
        "field": "sex.keyword",
        "size": 10
      },
      "aggs": {
        "aggs_age": {
          "top_hits": {
            "size": 2,
            "sort": [
              {
                "age": {
                  "order": "desc"
                }
              }
            ]
          }
        }
      }
    }
  }
}
-- range分组查询
GET customer/_search
{
 "size": 0,
 "aggs": {
   "aggs_age": {
     "range": {
       "field": "age",
       "ranges": [
         {
           "key":"小年青",
           "from": 10,
           "to": 20
         },
         {
           "key":"中年",
           "from": 20,
           "to": 30
         },
         {
           "key":"中年大叔",
           "from": 30,
           "to": 40
         },
         {
           "key":"油腻大叔",
           "from": 40,
           "to": 50
         }
       ]
     }
   }
 }
}

-- histogram直方图
GET customer/_search
{
  "size": 0, 
  "aggs": {
    "aggs_histogram_age": {
      "histogram": {
        "field": "age",
        "interval": 10,
        "min_doc_count": 1,
        "extended_bounds": {
          "min": 0,
          "max": 100
        }
      }
    }
  }
}

##date_histogram按日期统计
GET tvs/_search
{
  "size": 0,
  "aggs": {
    "aggs_by_date": {
      "date_histogram": {
        "field": "sold_date",
        "interval": "month",
        "format": "yyyy-MM-dd",
        "min_doc_count": 0,
        "extended_bounds": {
          "min": "now/d",
          "max": "now/d"
        }
      }
    }
  }
}

##date_histogram统计每个季度,每个品牌的总价
GET tvs/_search
{
  "size": 0,
  "aggs": {
    "aggs_date_by_quarter": {
      "date_histogram": {
        "field": "sold_date",
        "interval": "quarter",
        "format": "yyyy-MM-dd",
        "min_doc_count": 0,
        "extended_bounds": {
          "min": "2021-01-01",
          "max": "now/d"
        }
      },
      "aggs": {
        "aggs_brand_info": {
          "terms": {
            "field": "brand",
            "size": 10
          },
          "aggs": {
            "aggs_total_price_by_brand": {
              "sum": {
                "field": "price"
              }
            }
          }
        },
        "aggs_total_price":{
          "sum": {
            "field": "price"
          }
        }
      }
    }
  }
}


-- 按性别:求平均年龄最低的性别
GET customer/_search
{
  "size": 0,
  "aggs": {
    "aggs_sex": {
      "terms": {
        "field": "sex.keyword",
        "size": 10
      },
      "aggs": {
        "aggs_sex_age": {
          "avg": {
            "field": "age"
          }
        }
      }
    },
    "min_avg_age":{
      "min_bucket": {
        "buckets_path": "aggs_sex>aggs_sex_age"
      }
    }
  }
}
-- 批量更新
POST customer/_bulk
{"update":{"_id":"1"}}
{"doc":{"tag_cnt":"2","tag":["java","go"]}}
{"update":{"_id":"2"}}
{"doc":{"tag_cnt":"2","tag":["java","c++"]}}
{"update":{"_id":"3"}}
{"doc":{"tag_cnt":"1","tag":["java"]}}
{"update":{"_id":"4"}}
{"doc":{"tag_cnt":"2","tag":["mysql","javascript"]}}
{"update":{"_id":"5"}}
{"doc":{"tag_cnt":"1","tag":["php"]}}
{"update":{"_id":"6"}}
{"doc":{"tag_cnt":"2","tag":["java","mysql"]}}
{"update":{"_id":"7"}}
{"doc":{"tag_cnt":"2","tag":["c#","elasticsearch"]}}
{"update":{"_id":"8"}}
{"doc":{"tag_cnt":"2","tag":["python","hadoop"]}}
{"update":{"_id":"9"}}
{"doc":{"tag_cnt":"1","tag":["spark"]}}

-- 数组查询优化,可新增tag_cnt字段
GET customer/_search
{
  "query": {
    "bool": {
      "must": [
        {
          "term": {
            "tag": {
              "value": "java"
            }
          }
        },
        {
          "term": {
            "tag_cnt": {
              "value": "1"
            }
          }
        }
      ]
    }
  }
}
POST customer/_bulk
{"update":{"_id":"1"}}
{"doc":{"postDate":"2021-12-01"}}
{"update":{"_id":"2"}}
{"doc":{"postDate":"2021-12-02"}}
{"update":{"_id":"3"}}
{"doc":{"postDate":"2021-12-03"}}
{"update":{"_id":"4"}}
{"doc":{"postDate":"2021-12-04"}}
{"update":{"_id":"5"}}
{"doc":{"postDate":"2021-10-05"}}
{"update":{"_id":"6"}}
{"doc":{"postDate":"2021-11-06"}}
{"update":{"_id":"7"}}
{"doc":{"postDate":"2021-12-23"}}
{"update":{"_id":"8"}}
{"doc":{"postDate":"2021-12-24"}}
{"update":{"_id":"9"}}
{"doc":{"postDate":"2021-12-25"}}

-- 查询最近一个月数据
GET customer/_search
{
  "query": {
    "range": {
      "postDate": {
        "gte": "now-30d"
      }
    }
  }
}

-- 方法二:查询最近一个月数据
GET customer/_search
{
  "query": {
    "range": {
      "postDate": {
        "gte": "2021-12-25||-1M"
      }
    }
  }
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值