elasticsearch6.0笔记01

本文介绍如何使用Elasticsearch进行模糊查询,例如针对输入错误的查询词也能找到匹配项。此外,还展示了如何利用聚合函数进行复杂的数据统计分析,如按条件筛选并分组计算平均值。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.如果想实现模糊查询,比如:查询hello,写成了hallo,可以用fuzzy

PUT lbb_index5/student/1
{
 "content":"hello everyone "
}

GET /lbb_index5/student/_search
{
"query": {
 "fuzzy": {
    "content": "hallo"
 }
}
}

2.可以像sql一样写聚合函数:必须以“aggs”为标记开始,用一个简单例子说明用法:

比如需求:统计一个公司中对java感兴趣的员工,并且按照年龄分组,按照绩效降序排列,同时算出绩效的平均值!

注意:

1)如果不提前设置属性类型的话,绩效默认是long,如果有88.8这样的浮点数,就会失败,建议,一开始就设置好类型;

2)age_group,和age_avg为任意起的名字

 

POST /lbb_index7/user/_bulk
{"index":{"_id":1}}
{"learn":"java","age":29,"jixiao":88}
{"index":{"_id":2}}
{"learn":"java","age":27,"jixiao":96}
{"index":{"_id":3}}
{"learn":"java","age":27,"jixiao":86}
{"index":{"_id":4}}
{"learn":"C#","age":32,"jixiao":85}
{"index":{"_id":5}}
{"learn":"C#","age":27,"jixiao":98}

GET /lbb_index7/user/_search
{
  "query": {
    "match": {
      "learn": "java"
    }
  },
  "aggs": {
    "age_group": {
      "terms": {
        "field": "age",
        "order": {
          "jixiao_avg": "desc"
        }
      },
      "aggs": {
        "jixiao_avg": {
          "avg": {
            "field": "jixiao"
            }
        }
      }
    }
  }
}

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值