首页 > 其他分享 >es 排序 聚合统计

es 排序 聚合统计

时间:2023-09-14 10:45:58浏览次数:36  
标签:search 聚合 GET private 查询 es 排序 provinceid red

(27条消息) es 排序 聚合统计_吐血整理:一文看懂ES的R,查询与聚合_weixin_39901439的博客-CSDN博客

模糊匹配

select * from company where name like '%康康%'
GET red/_search
{
  "query": {
    "match": {
      "companyname": "康康"
    }
  }
}
上述查询会查出姓名中带有“康康”字的文档

GET red/_search
{
  "query": {
    "match_phrase": {  #match_phrase   查询的词,顺序不能变
      "companyname": "江苏省水"
    }
  }
}

分页查询

select * from company limit 0,10

GET red/_search
{
 "from": 0,
 "size": 5
}
【注意】from+size不能大于10000,也可以进行修改,但不建议这么操作,因为es主要分片模式,其会在每个分片都会执行一样的查询,然后再进行汇总排序,如果数据太大,会撑爆内存。例如每个分片都查询出10000条,总共5个分片,最后就会进行50000条数据的排序,最后再取值。

范围查询并进行排序

select * from company where redtime>=10 and redtime<=50 order by redtime desc
GET red/_search
{
  "query": {
    "range": {
      "redtime": {
        "gte": "2012-08-23",
        "lte": "2013-01-30"
      }
    }
  },
  "sort": [
    {
      "redtime": {
        "order": "desc"
      }
    }
  ]
}

多字段匹配查询

select * from company where sex like '%男%' or name like '%男%'
GET red/_search
{
  "query": {
    "multi_match": {
      "query": "鸡",
      "fields": ["companyname","title"]
    }
  }
}

bool查询(结构化查询)

结构化查询主要有三块,分别是must,should,must_not,filter

(1)must:里面的条件都是“并”关系,都匹配

(2)should:里面的条件都是“或”关系,有一个条件匹配就行

(3)must_not:里面的条件都是“并”关系,都不能匹配

(4)filter:过滤查询,不像其它查询需要计算_score相关性,它不进行此项计算,故比query查询快



select * from company where provinceid=50
and departments like '市场部'

GET red/_search
{
  "query": {
    "bool": {
      "must": [
        {
          "term": {
              "provinceid": "330000"
          }
        }
      ],
      "filter": [
        {
          "match":{
            "companyname":"大"
          }
        }
      ]
    }
  }
}

 

cbi360.net.apiwebjzw

cbi360.net.apijzw

聚合(指标聚合)

select max(age) from company
#取最大、最小、平均、总和
GET red/_search
{
  "aggs": {
    "provinceid_Max": {
      "max": {
        "field": "provinceid"
      }
    }
  },
  "size": 1
}


#对某个字段的值进行去重之后再取总数
select count(distinct(sex)) from company
GET red/_search
{
  "aggs": {
    "provinceid_Max": {
      "cardinality": {
        "field": "provinceid"
      }
    }
  },
  "size": 1
}


#stats聚合,对某个字段一次性返回count,max,min,avg和sum五个指标
select count(distinct age),sum(age),avg(age),max(age),min(age) from company
GET red/_search
{
  "aggs": {
    "provinceid_stats": {
      "stats": {
        "field": "provinceid"
      }
    }
  },
  "size": 1
}

percentiles聚合,对某个字段的值进行百分位统计 (统计各个值出现的百分比)
GET red/_search
{
  "aggs": {
    "provinceid_stats": {
      "percentiles": {
        "field": "provinceid"
      }
    }
  },
  "size": 1
}

聚合(桶聚合)

select sex,count(1) from company group by sex     分组
GET red/_search
{
  "aggs": {
    "provinceid_stats": {
      "terms": {
        "field": "provinceid"
      }
    }
  },
  "size": 1
}
 private readonly JudgementService judgementService;
        private readonly CourtAnnouncementService courtAnnouncementService;
        private readonly CourtNoticeService courtNoticeService;
        private readonly DishonestService dishonestService;
        private readonly DishonestExecutorService dishonestExecutorService;
        private readonly BusinessRiskService businessRiskService;
        private readonly MPledgeService mPledgeService;
        private readonly PenaltyService penaltyService;
        private readonly PledgeService pledgeService;

Max:1271923

Min:502

1188

Es优化: (21条消息) ES 性能调优,这可能是全网最详细的 Elasticsearch 性能调优指南_Elastic开源社区的博客-CSDN博客_es调优

标签:search,聚合,GET,private,查询,es,排序,provinceid,red
From: https://www.cnblogs.com/kkbk/p/17701837.html

相关文章

  • 【腾讯云 Cloud Studio 实战训练营】Cloud Studio 使用分享 及ant-desing-pro 项目创
    【腾讯云CloudStudio实战训练营】CloudStudio使用分享及ant-desing-pro项目创建一、CloudStudio简介及登录1.简介首先附上官网地址,有兴趣的同学可以前去官网查看学习。CloudStudio_在线编程_在线IDE_WebIDE_CloudIDE_VSCode-腾讯云CloudStudio是基于浏览器......
  • Excel导出时文件中没有内容,表格是空的,并且后台抛出了下面的错误:No converter for [cla
    【问题描述】Excel导出时文件中没有内容,表格是空的,并且后台抛出了下面的错误:2023-09-1409:48:59.876WARN7---[http-nio-8096-exec-3].m.m.a.ExceptionHandlerExceptionResolver:Failurein@ExceptionHandlercom.cscecnf.common.exception.GlobalExceptionHandler#exce......
  • C++ 实现 快速排序
    #include<iostream>usingnamespacestd;voidquickSort(int(&)[10],int,int);intpartition(int(&)[10],int,int);voidprintArr(constint(&)[10]);voidswap(int(&)[10],int,int);intmain(){ intarr[10]={23,45,18,6,11,19,22,......
  • Es分词过程
    ES的分词不仅仅发生在文档创建的时候,也发生在搜索的时候查询:读时分词发生在用户查询时,ES会即时地对用户输入的关键词进行分词,分词结果只存在内存中,当查询结束时,分词结果也会随即消失。添加:而写时分词发生在文档写入时,ES会对文档进行分词后,将结果存入倒排索引,该部分最终......
  • 使用 SAP Business Application Studio Data Editor 生成 Mock Data
    SAPBusinessTechnologyPlatform(BTP)是SAP提供的一种综合性云平台,用于构建、扩展和集成企业应用程序。它为企业提供了一个强大的工具集,以支持数字转型和业务创新。在BTP上,BusinessApplicationStudio(BAS)是一个云集成开发环境,它为开发人员提供了一种轻松创建、管理和......
  • testing-code-测试代码unittest如何编写?
    1---name_function.py函数name_function.py用来获取人名,入参时选择姓、名、中间字三项(middle为可选入参项)1#!usr/bin/env/python23defget_formatted_name(first,last,middle=""):4ifmiddle:5full_name=f"{first}{middle}{last}"6returnf......
  • combineLatest 操作符在 Spartacus Cost Center 计算逻辑中的一个实际应用
    考虑下面这段Angular代码:this.costCenters$=combineLatest([this.userCostCenters$,this.checkoutCostCenterFacade.getCostCenterState().pipe(filter((state)=>!state.loading),map((state)=>state.data),distinctUntilCh......
  • oracle数据库使用to_timestamp格式化日期数据时,报错: ORA-01821: date format not reco
    今天偶然发现一个问题:我使用的数据库是11.2版本的sql语句:SELECTto_timestamp('2023-09-1315:43:29.943','yyyy-mm-ddhh24:mi:ss.fff')ASmydataFROMdual就会报错,项目出现问题,但很神奇的时使用oracle数据库12版本的就不会报错。 网上查了下,说是毫秒处是6位的,但只显示3位......
  • @Controller与@RestController
    https://blog.csdn.net/qq_31016939/article/details/131363158https://blog.csdn.net/moshowgame/article/details/82869151https://blog.csdn.net/u013154103/article/details/79783884@Controller与@RestController的区别都是用来表示Spring某个类是否可以接收Http请求......
  • 《Docker与Kubernetes容器运维实战》简介
    #好书推荐##好书奇遇季#《Docker与Kubernetes容器运维实战》已经出版。本书帮助读者系统掌握Docker与K8s运维技能。 本书内容 本书分两部分系统介绍Docker与Kubernetes的运维技术。(1)Docker部分包括:全面认识Docker、初步体验Docker、Docker基本管理、Docker仓库、数据管理、......