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

网站建设要懂哪些技术wordpress移动导航插件

网站建设要懂哪些技术,wordpress移动导航插件,wordpress和代码,网站建设都需要什么费用Elasticsearch应用#xff08;十#xff09; 1.为什么需要聚合操作 聚合可以让我们极其方便的实现对数据的统计、分析、运算#xff0c;例如#xff1a; 什么品牌的手机最受欢迎#xff1f;这些手机的平均价格、最高价格、最低价格#xff1f;这些手机每月的销售情况如…Elasticsearch应用十 1.为什么需要聚合操作 聚合可以让我们极其方便的实现对数据的统计、分析、运算例如 什么品牌的手机最受欢迎这些手机的平均价格、最高价格、最低价格这些手机每月的销售情况如何 2.什么是聚合 聚合aggregations可以实现对文档数据的统计分析运算在做聚合的时候往往是与文档过滤一起用的一般不会对整个索引库进行聚合操作 3.聚合语法 4.聚合分类 桶聚合Bucket 用来对文档做分组 TermAggregation 按照文档字段值分组Date Histogram 按照日期阶梯分组例如一周为一组或者一月为一组 度量聚合Metric 用以计算一些值比如最大值最小值平均值等 Avg 求平均值Max 求最大值Min 求最小值Stats 同时求maxminavgsum等 管道聚合pipeline 其他聚合的结果为基础做聚合Matrix 支持对多个字段的操作并提供一个结果矩阵 5.桶聚合 介绍 按照一定的规则将文档分配到不同的桶中从而达到分类的目的。ES提供的一些常见的 Bucket Aggregation TermAggregation 需求 统计所有数据中的酒店品牌有几种此时可以根据酒店品牌的名称做聚合 示例 默认排序规则 默认情况下Bucket聚合会统计Bucket内的文档数量记为_count并且按照_count降序排序。我们可以修改结果排序方式 注意 默认情况下Bucket聚合是对索引库的所有文档做聚合我们可以限定要聚合的文档范围只要添加query条件即可 分词字段不行必须是不能分词的字段 聚合还会返回查询的文档所以建议设置size为0因为聚合一般不需要返回文档这样能提高性能 6.度量聚合 介绍 —些数学运算可以对文档字段进行统计分析类比MySQL中的 min()max()sum() 操作 States 介绍 同时求maxminavgsum等 需求 获取每个品牌的用户评分的minmaxavg等 示例 按照子聚合字段排序 7.聚合的作用范围 介绍 ES聚合分析的默认作用范围是query的查询结果集同时ES还支持以下方式改变聚合的作用范围FilterPost FilterGlobal query {size: 0,query: {range: {age: {gte: 20}}},aggs: {jobs: {terms: {field: job.keyword}}} }Filter {size: 0,aggs: {older_person: {filter: {range: {age: {from: 35}}},aggs: {jobs: {terms: {field: job.keyword}}}},all_jobs: {terms: {field: job.keyword}}} }Post Filter {aggs: {jobs: {terms: {field: job.keyword}}},post_filter: {match: {job.keyword: Dev Manager}} }Global {size: 0,query: {range: {age: {gte: 40}}},aggs: {jobs: {terms: {field: job.keyword}},all: {global: {},aggs: {salary_avg: {avg: {field: salary}}}}} }8.ES聚合分析不精准 介绍 ElasticSearch在对海量数据进行聚合分析的时候会损失搜索的精准度来满足实时性的需求 原因 从Terms聚合分析的执行流程来看 数据分散到多个分片聚合是每个分片的取Top X导致结果不精准。ES可以不每个分片Top X而是全量聚合但势必这会有很大的性能问题 如何提高聚合精确度 设置主分片为1调大 shard_size 值将size设置为全量值来解决精度问题使用Clickhouse/ Spark 进行精准聚合 设置主分片为1 注意 注意7.x版本已经默认为1 适用场景 数据量小的小集群规模业务场景 调大 shard_size 值 介绍 设置 shard_size 为比较大的值官方推荐size*1.510。shard_size 值越大结果越趋近于精准聚合结果值。此外还可以通过show_term_doc_count_error参数显示最差情况下的错误值用于辅助确定 shard_size 大小 参数说明 size是聚合结果的返回值客户期望返回聚合排名前三size值就是 3shard_size: 每个分片上聚合的数据条数。shard_size 原则上要大于等于size 适用场景 数据量大、分片数多的集群业务场景 Terms聚合返回值 doc_count_error_upper_bound : 被遗漏的term 分桶包含的文档有可能的最大值sum_other_doc_count: 除了返回结果 bucket的terms以外其他 terms 的文档总数总数-返回的总数 将size设置为全量值来解决精度问题 介绍 将size设置为2的32次方减去1也就是分片支持的最大值来解决精度问题 原因 1.x版本size等于 0 代表全部高版本取消 0 值所以设置了最大值大于业务的全量值 缺点 全量带来的弊端就是如果分片数据量极大这样做会耗费巨大的CPU 资源来排序而且可能会阻塞网络 适用场景 对聚合精准度要求极高的业务场景由于性能问题不推荐使用 使用Clickhouse/ Spark 进行精准聚合 适用场景数据量非常大、聚合精度要求高、响应速度快的业务场景 9.聚合性能优化 总览 启用 eager global ordinals 提升高基数聚合性能插入数据时对索引进行预排序使用节点查询缓存使用分片请求缓存拆分聚合使聚合并行化 启用 eager global ordinals 提升高基数聚合性能 介绍 高基数聚合 。高基数聚合场景中的高基数含义一个字段包含很大比例的唯一值 本质 启用 eager_global_ordinals 时会在刷新refresh分片时构建全局序号。这将构建全局序号的成本从搜索阶段转移到了数据索引化写入阶段 应用场景 global ordinals 中文翻译成全局序号是一种数据结构应用场景如下 基于 keywordip 等字段的分桶聚合包含terms聚合、composite 聚合等基于text 字段的分桶聚合前提条件是fielddata 开启因为text默认不能分桶聚合基于父子文档 Join 类型的 has_child 查询和 父聚合 global ordinals 使用一个数值代表字段中的字符串值然后为每一个数值分配一个bucket分桶 创建索引的同时开启eager_global_ordinals PUT /my‐index{mappings: {properties: {tags: {type: keyword,eager_global_ordinals: true}}}注意 开启 eager_global_ordinals 会影响写入性能因为每次刷新时都会创建新的全局序号。为了最大程度地减少由于频繁刷新建立全局序号而导致的额外开销请调大刷新间隔refresh_interval 动态调整刷新频率的方法如下 该招数的本质是以空间换时间 PUT my‐index/_settings {index: {refresh_interval: 30s }插入数据时对索引进行预排序 介绍 Index sorting索引排序可用于在插入时对索引进行预排序而不是在查询时再对索引进行排序这将提高范围查询range query和排序操作的性能在 Elasticsearch 中创建新索引时可以配置如何对每个分片内的段进行排序 版本要求 这是 Elasticsearch 6.X 之后版本才有的特性 示例 PUT /index {settings: {index: {sort.field: create_time,sort.order: desc}},mappings: {properties: {create_time: {type: date}}} }注意 预排序将增加 Elasticsearch 写入的成本。在某些用户特定场景下开启索引预排序会导致大约 40%-50% 的写性能下降。也就是说如果用户场景更关注写性能的业务开启索引预排序不是一个很好的选择 使用节点查询缓存 介绍 节点查询缓存Node query cache可用于有效缓存过滤器filter操作的结果。如果多 次执行同一 filter 操作这将很有效但是即便更改过滤器中的某一个值也将意味着需要计算新的过滤器结果 例如由于 “now” 值一直在变化因此无法缓存在过滤器上下文中使用 “now” 的查询 无法适用缓存示例 PUT /my_index/_doc/1{create_time:2022‐05‐11T16:30:55.328Z }#下面的示例无法使用缓存 GET /my_index/_search {query: {constant_score: {filter: {range: {create_time: {gte: now‐1h,lte: now}}}}} }使用缓存示例 PUT /my_index/_doc/1{create_time:2022‐05‐11T16:30:55.328Z }# 下面的示例就可以使用节点查询缓存 GET /my_index/_search {query: {constant_score: {filter: {range: {create_time: {gte: now‐1h/m,lte: now/m}}}}} }上述示例中的“now-1h/m” 就是 datemath 的格式 如果当前时间 now 是16:31:29那么range query 将匹配 my_date 介于15:31:00 和 15:31:59 之间的时间数据。同理聚合的前半部分 query 中如果有基于时间查询或者后 半部分 aggs 部分中有基于时间聚合的建议都使用 datemath 方式做缓存处理以优化性 能 使用分片请求缓存 介绍 聚合语句中设置size0就会使用分片请求缓存缓存结果。size 0 的含义是只返 回聚合结果不返回查询结果 示例 GET /es_db/_search {size: 0,aggs: {remark_agg: {terms: {field: remark.keyword}}} }拆分聚合使聚合并行化 介绍 Elasticsearch 查询条件中同时有多个条件聚合默认情况下聚合不是并行运行的。当为每 个聚合提供自己的查询并执行 msearch 时性能会有显著提升。因此在 CPU 资源不是 瓶颈的前提下如果想缩短响应时间可以将多个聚合拆分为多个查询借助msearch 实现并行聚合 常规的聚合实现 GET /employees/_search {size: 0,aggs: {job_agg: {terms: {field: job.keyword}},max_salary: {max: {field: salary}}} }msearch拆分多个语句的聚合实现 GET _msearch {index:employees} {size:0,aggs:{job_agg:{terms:{field: job.keyword}}}} {index:employees} {size:0,aggs:{max_salary:{max:{field: salary}}}}
http://www.pierceye.com/news/305227/

相关文章:

  • 喜茶品牌策划全案案例seo技术
  • 简速做网站中国企业网站建设案例
  • 做网站不给源码莱州网站建设包年多少钱
  • 好玩有趣的网站贵州省城乡建设厅网站材料价
  • 投资公司网站设计上海自动seo
  • 网络营销导向网站建设的基础是什么创新驱动发展战略的内容
  • 银狐鑫诺科技 网站建设深圳画册设计价格
  • 邵阳网站建设推广优化游戏性能的软件
  • wp做网站难吗销售产品单页面网站模板
  • 网站子域名 更换网站开发什么方式
  • 学做面食最好的网站设计公司logo大全
  • wordpress建站入门手机网站跳转怎么办
  • 好网站开发培训wordpress是否免费
  • 建设国际互联网网站网站建设制作流程
  • 开发一个网站做爬虫手机网站建设视频
  • 网站搜索功能模块公众号开发菜单
  • 公司想做个自己的网站怎么做网络营销与管理专业
  • 网站设计中国内优秀企业网站欣赏深圳商城网站设计公司
  • 泌阳县住房和城乡建设局网站wordpress注册去掉电子邮件
  • 电商网站设计目的活动策划怎么写
  • 做网站有限公司智慧团建官方网站
  • 南京建设网站公司哪家好科技创新论文800字
  • 网站app的区别是什么深圳沙井做网站公司
  • 珠海网站建站js写wordpress
  • 公司做网站怎么做账网站建设都需要买什么东西
  • seo网站模板深圳建设局和住建局
  • 全国做网站的公司有哪些正规网站做菠菜广告
  • 成都有哪些做公司网站的公司动漫制作专业用什么笔记本电脑
  • 模型外包网站网站建设费用 多少钱
  • 课程资源网站开发 jsp免费做网站自助建站