常用mysql语句转elasticsearch查询语句

转载:https://blog.csdn.net/zfy1355/article/details/82968118

  1. 多个查询条件 bool(must、should、must_not)
select * from index_person where name = 'jeck' or sex = 'male' order by age,sex
{
    "query":{
        "bool":{
            "should":{
                {"match":{"name": "jeck"}},
                {"match": {"sex": "male"}},
            }
        }       
    },
    "sort":[{"age":{"order":"asc"},
            {"sex":{"order":"desc"}}]
}

  1. like查询 wildcard
select * from index_person where name like '%jeck%'

{
    "query":{
        "bool":{
            "must":{
                "wildcard":{
                    "name":"*jeck*"
                }
            }
        }       
    }
}

  1. 区间查询 range
select * from index_person where name = 'jeck' and sex = 'male' and (age<30 and age>40)

{
 "query": {
    "bool": {
        "must": [
            {"match":{"name": "jeck"}},
            {"match": {"sex": "male"}},
            {"range" : {"age" : {"gt" : 40,"lt":30}}}
        ]
    }
  }
}

  1. 根据bucket提取汇总数,如果对汇总数继续分组,可以在group_by_sex后继续添加aggs结构
select count(sex) from index_person where age>30 group by sex;

{
  "size":10,
  "query":{
    "bool":{
      "must":[{"range" : {"age" : {"gt" : 30}}}]
    }
  },
  "aggs":{
    "group_by_sex":{
      "terms":{
        "field":"sex"
      }
    }
  }
}

  1. 分组调用内置函数,(avg,sum)
select average(age) from index_person  group by sex 
{
  "size":10,
  "aggs":{
    "avg_by_age":{
      "avg":{
        "field":"sex"
      }
    }
  }
}

</article>

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • java Elastic 客户端基本使用 引入jar client基本使用 得到client 关闭资源 搜索关键字...
    持续进步者阅读 4,922评论 0 7
  • pyspark.sql模块 模块上下文 Spark SQL和DataFrames的重要类: pyspark.sql...
    mpro阅读 9,973评论 0 13
  • MYSQL 基础知识 1 MySQL数据库概要 2 简单MySQL环境 3 数据的存储和获取 4 MySQL基本操...
    Kingtester阅读 8,088评论 5 115
  • Elasticsearch 权威指南(中文版) https://es.xiaoleilu.com/ elastic...
    达微阅读 1,383评论 0 2
  • 前几天去胖东来采购水果蔬菜,正挑选丑橘,我右边有胖东来提供的塑料袋,左边来了一个中老年妇女A,手伸到我前面,...
    花花日记阅读 294评论 0 0

友情链接更多精彩内容