当前位置: 首页 > news >正文

济宁网站建设软件开发符合网络营销的网站

济宁网站建设软件开发,符合网络营销的网站,免费在线建站,cms网站开发目录 ElasticSearch聚合操作 基本语法 聚合的分类 后续示例数据 Metric Aggregation Bucket Aggregation ES聚合分析不精准原因分析 提高聚合精确度 ElasticSearch聚合操作 Elasticsearch除搜索以外#xff0c;提供了针对ES 数据进行统计分析的功能。聚合(aggregation…目录 ElasticSearch聚合操作 基本语法 聚合的分类 后续示例数据 Metric Aggregation Bucket Aggregation ES聚合分析不精准原因分析 提高聚合精确度 ElasticSearch聚合操作 Elasticsearch除搜索以外提供了针对ES 数据进行统计分析的功能。聚合(aggregations)可以让我们极其方便的实现对数据的统计、分析、运算。例如 什么品牌的手机最受欢迎 这些手机的平均价格、最高价格、最低价格 这些手机每月的销售情况如何 基本语法 聚合查询的语法结构与其他查询相似通常包含以下部分 查询条件指定需要聚合的文档可以使用标准的 Elasticsearch 查询语法如 term、match、range 等等。 聚合函数指定要执行的聚合操作如 sum、avg、min、max、terms、date_histogram 等等。每个聚合命令都会生成一个聚合结果。 聚合嵌套聚合命令可以嵌套以便更细粒度地分析数据。 GET index_name/_search {aggs: {aggs_name: { // 聚合名称需要自己定义agg_type: {field: field_name}}} } aggs_name聚合函数的名称 agg_type聚合种类比如是桶聚合terms或者是指标聚合avg、sum、min、max等 field_name字段名称或者叫域名。 聚合的分类 Metric Aggregation—些数学运算可以对文档字段进行统计分析类比Mysql中的 min(), max(), sum() 操作。 SELECT MIN(price), MAX(price) FROM products #Metric聚合的DSL类比实现 {aggs:{avg_price:{avg:{field:price}}} } Bucket Aggregation 一些满足特定条件的文档的集合放置到一个桶里每一个桶关联一个key类比Mysql中的group by操作。 SELECT size COUNT(*) FROM products GROUP BY size #bucket聚合的DSL类比实现 {aggs: {by_size: {terms: {field: size}} } 后续示例数据 DELETE /employees #创建索引库 PUT /employees {mappings: {properties: {age:{type: integer},gender:{type: keyword},job:{type : text,fields : {keyword : {type : keyword,ignore_above : 50}}},name:{type: keyword},salary:{type: integer}}} }PUT /employees/_bulk { index : { _id : 1 } } { name : Emma,age:32,job:Product Manager,gender:female,salary:35000 } { index : { _id : 2 } } { name : Underwood,age:41,job:Dev Manager,gender:male,salary: 50000} { index : { _id : 3 } } { name : Tran,age:25,job:Web Designer,gender:male,salary:18000 } { index : { _id : 4 } } { name : Rivera,age:26,job:Web Designer,gender:female,salary: 22000} { index : { _id : 5 } } { name : Rose,age:25,job:QA,gender:female,salary:18000 } { index : { _id : 6 } } { name : Lucy,age:31,job:QA,gender:female,salary: 25000} { index : { _id : 7 } } { name : Byrd,age:27,job:QA,gender:male,salary:20000 } { index : { _id : 8 } } { name : Foster,age:27,job:Java Programmer,gender:male,salary: 20000} { index : { _id : 9 } } { name : Gregory,age:32,job:Java Programmer,gender:male,salary:22000 } { index : { _id : 10 } } { name : Bryant,age:20,job:Java Programmer,gender:male,salary: 9000} { index : { _id : 11 } } { name : Jenny,age:36,job:Java Programmer,gender:female,salary:38000 } { index : { _id : 12 } } { name : Mcdonald,age:31,job:Java Programmer,gender:male,salary: 32000} { index : { _id : 13 } } { name : Jonthna,age:30,job:Java Programmer,gender:female,salary:30000 } { index : { _id : 14 } } { name : Marshall,age:32,job:Javascript Programmer,gender:male,salary: 25000} { index : { _id : 15 } } { name : King,age:33,job:Java Programmer,gender:male,salary:28000 } { index : { _id : 16 } } { name : Mccarthy,age:21,job:Javascript Programmer,gender:male,salary: 16000} { index : { _id : 17 } } { name : Goodwin,age:25,job:Javascript Programmer,gender:male,salary: 16000} { index : { _id : 18 } } { name : Catherine,age:29,job:Javascript Programmer,gender:female,salary: 20000} { index : { _id : 19 } } { name : Boone,age:30,job:DBA,gender:male,salary: 30000} { index : { _id : 20 } } { name : Kathy,age:29,job:DBA,gender:female,salary: 20000} Metric Aggregation 单值分析︰只输出一个分析结果min, max, avg, sum等 多值分析:输出多个分析结果stats统计, extended stats等 查询员工的最低最高和平均工资 #多个 Metric 聚合找到最低最高和平均工资 POST /employees/_search {size: 0, aggs: {max_salary: {max: {field: salary}},min_salary: {min: {field: salary}},avg_salary: {avg: {field: salary}}} } 对salary进行统计 # 一个聚合输出多值 POST /employees/_search {size: 0,aggs: {stats_salary: {stats: {field:salary}}} } cardinate对搜索结果去重 POST /employees/_search {size: 0,aggs: {cardinate: {cardinality: {field: job.keyword}}} } Bucket Aggregation 按照一定的规则将文档分配到不同的桶中从而达到分类的目的。ES提供的一些常见的 Bucket Aggregation。 Terms需要字段支持filedata如果是keyword 默认支持fielddata如果是text需要在Mapping 中开启fielddata会按照分词后的结果进行分桶。 数字类型支持Range / Data Range、Histogram直方图 / Date Histogram。 支持嵌套: 也就在桶里再做分桶。 获取job的分类信息 # 对keword 进行聚合 GET /employees/_search {size: 0,aggs: {jobs: {terms: {field:job.keyword}}} } 聚合可配置属性有 field指定聚合字段。 size指定聚合结果数量。 order指定聚合结果排序方式。 默认情况下Bucket聚合会统计Bucket内的文档数量记为_count并且按照_count降序排序。我们可以指定order属性自定义聚合的排序方式 GET /employees/_search {size: 0,aggs: {jobs: {terms: {field:job.keyword,size: 10,order: {_count: desc }}}} } 限定聚合范围 #只对salary在10000元以上的文档聚合 GET /employees/_search {query: {range: {salary: {gte: 10000 }}}, size: 0,aggs: {jobs: {terms: {field:job.keyword,size: 10,order: {_count: desc }}}} } ES聚合分析不精准原因分析 ElasticSearch在对海量数据进行聚合分析的时候会损失搜索的精准度来满足实时性的需求。 Terms聚合分析的执行流程 不精准的原因 数据分散到多个分片聚合是每个分片的取 Top X导致结果不精准。ES 可以不每个分片Top X而是全量聚合但这会有很大的性能问题。 提高聚合精确度 方案1设置主分片为1 注意7.x版本已经默认为1。 适用场景数据量小的小集群规模业务场景。 方案2调大 shard_size 值 设置 shard_size 为比较大的值官方推荐size*1.510。shard_size 值越大结果越趋近于精准聚合结果值。此外还可以通过show_term_doc_count_error参数显示最差情况下的错误值用于辅助确定 shard_size 大小。 size是聚合结果的返回值客户期望返回聚合排名前三size值就是 3。shard_size: 每个分片上聚合的数据条数。shard_size 原则上要大于等于 size 适用场景数据量大、分片数多的集群业务场景。 方案3使用Clickhouse/ Spark 进行精准聚合 适用场景数据量非常大、聚合精度要求高、响应速度快的业务场景。
http://www.w-s-a.com/news/517561/

相关文章:

  • 网站构架图网上推广平台哪个好
  • 公司网站首页图片素材vi设计的目的和意义
  • 网站的需求分析都有哪些内容济南营销型网站建设团队
  • 怎么选择优秀的网站建设公司生鲜网站开发
  • 如何编写网站建设销售的心得网站的权限管理怎么做
  • 网站业务员好做吗无忧网站优化
  • 网站随机代码网站建设费 账务处理
  • 商洛网站建设哪家好网站建设 织梦者
  • 怎么创建收费网站宁夏住房和城乡建设部网站
  • 怎么确认网站是什么语言做的用php和mysql做网站
  • 安徽做网站的公司有哪些星子网络公司
  • 肥西县重点工程建设管理局网站wordpress界面菜单怎么弄
  • 宁夏网站开发设计说明书wordpress主题背景图片
  • 同一个阿里云可以做两个网站吗织梦 帝国 学校网站
  • 城阳网站建设培训网站后台怎么上传文件
  • 重庆茂尔建设集团有限公司网站网页制作教程软件
  • 金湖建设工程质量监督网站高端网站建设公司哪里济南兴田德润实惠吗
  • 站酷设计网站官网入口文字设计seo网站推广工具
  • 专业移动网站建设网站建设软件dw
  • 摄影网站设计思想视觉传达毕业设计作品网站
  • 需要优化的网站有哪些设计装修app
  • 数据型网站建设东莞好的网站国外站建设价格
  • 网络营销方法有哪些举例seo应用领域有哪些
  • 建设银行官方网站官网做网站的专业叫什么
  • 矿区网站建设濮阳做网站的公司有哪些
  • 有什么网站可以自己做书甘肃建设厅网站首页
  • 门户网站建设哪专业怎么把自己做的网站登录到网上
  • 如何做网站小编餐饮业手机php网站
  • 备案 网站商城网站设计公司排名
  • 汕头做网站优化公司seo软件简单易排名稳定