低代码到底是不是行业毒瘤?一线大厂怎么做的?戳此了解>>> 了解详情
写点什么

ElasticSearch 新版发布,改进的聚合功能和脚本功能成亮点

2014 年 7 月 31 日

ElasticSearch 发布了1.3.0 版。该版本基于 Lucene 4.9 ,带来了更为出色的聚合功能,并包含了安全、脚本处理以及索引性能等多个方面的改进。

出于安全考虑,动态脚本 Dynamic Scripting )这一功能在 1.2 版中是被默认禁用的。而如今,这一选项针对沙箱化的语言(sandboxed languages)是默认启用的。 Groovy 也得到了沙箱支持,目前替代 MVEL 成为了脚本功能的首选语言。MVEL 目前已不再被推荐使用,并将于 1.4 版被移除。

我们来看看其他一些新的脚本功能:

  • Lucene 表达式(Lucene Expressions)作为一项试验性功能被集成进了核心包。该功能提供了一套机制,它可以将 JavaScript 搜索表达式编译成字节码,从而获得很高的执行速度。早些时候的一些基准测试显示,这一方式较 Groovy 脚本有 4 到 6 倍的速度提升。伴随着速度的提升也带来了一些局限性,你只能通过这种方式访问数值类型的域(fields),且无法访问那些已存储的域(译者注:相对于索引域和分词域),而那些稀疏域(某些文档在该域上没有值)将会返回默认值 0;除此之外,它仅能用于搜索,而不能用于文档更新。
  • 脚本(包括搜索模板 - Search templates )目前可以被保存到一个特殊的.scripts 索引中,从而无须像原来那样保存到每个节点的配置目录中。这样一来,用户可以通过新的查询(query)来更新 script/template,从而使“用户自定义”的查询变得更加容易。

我们再来看看新的聚合功能:

  • 域的折叠与融合( Field Collapsing/Combining )——可以将一组值折叠成一个或固定数量的条目,从而能防止出现重复的文档。
  • 百分位等级聚合( Percentile Ranks Aggregation )——该试验性功能展示了观测值在某个特定值之下的百分率。
  • 为某个域进行地理位置值的地理范围聚合——该功能提供了一个覆盖了所有位置值的范围框图(举个例子:一个销售区域而非独立的销售城市列表)。
  • 在高基数(high cardinality)域上的词元(terms)聚合具有更好的性能。
  • collect_mode 选项允许你定义是否在子聚合计算完之前进行父级聚合的分支裁剪(广度优先)。在大多数查询中,深度优先这一默认值( 所有分支在被裁剪之前,第一遍就展开到该分支的深度)往往能给出更好的结果,但是针对那些拥有很多唯一词元的域以及必须返回少量结果的情况,广度优先将会更加有效。

新版本在索引和 I/O 方面也带来了一些性能提升。尤其是 Lucene 4.9,它具有更加卓越的压缩特性,从而提升了磁盘和内存的使用率。新版本同时在弹性方面也做了改进。

这一版同样也引入了一些重大的变化——举个例子,出于安全考虑, JSONP 目前已被默认禁用。你可以通过阅读发布说明来对变更列表中的全部内容进行进一步了解。

查看英文原文: ElasticSearch Gets Better Aggregation, Adds Groovy for Scripting

2014 年 7 月 31 日 00:402968
用户头像

发布了 52 篇内容, 共 20.1 次阅读, 收获喜欢 5 次。

关注

评论

发布
暂无评论
发现更多内容

开设赌场的CTO | 法庭上的CTO(23)

赵新龙

CTO 法庭上的CTO

为了搞清楚类加载,竟然手撸JVM!

小傅哥

JVM 小傅哥 类加载 生命周期 加载机制

IPFS云算力挖矿系统开发详解案例及源码

系统开发咨询1357O98O718

云算力挖矿系统开发详解 云算力APP系统软件开发 云算力模式系统开发源码 云算力软件系统开发定制

智慧社区综合应用平台搭建,社区管理解决方案

t13823115967

智慧社区管理平台开发 智慧平安社区平台建设

CKLC挖矿矿机系统开发案例介绍

系统开发咨询1357O98O718

CKLC挖矿矿机系统软件开发 CKLC挖矿矿机系统开发 CKLC挖矿矿机APP系统开发

Java多线程编程核心技术

田维常

多线程

散布消极言论被开除的总监 | 法庭上的CTO(25)

赵新龙

CTO 法庭上的CTO

IPFS挖矿矿机系统开发方案丨IPFS挖矿矿机源码案例

系统开发咨询1357O98O718

IPFS云算力挖矿系统开发 IPFS算力挖矿系统开发搭建

Spring cloud Gateway(二) 一个Http请求的流程解析

Java 网关

架构师训练营第一周作业

Mark

母鸡下蛋实例:多线程通信生产者和消费者wait/notify和condition/await/signal条件队列

叫练

多线程与高并发 Wait lock 线程互斥 await

总结2020:5个月出版两本书,日更公众号是一种怎样的体验?

冰河

程序员 程序人生 年终总结

IPFS挖矿系统开发详情案例

系统开发咨询1357O98O718

IPFS云算力挖矿系统开发 IPFS算力挖矿软件系统开发

年末了,放个大招,力软.net/java新产品附赠服务器,不容错过

力软.net/java开发平台

Java .net 服务器

NoahTenet诺亚信条软件系统APP开发

开發I852946OIIO

系统开发

MySQL为Null会导致5个问题,个个致命!

王磊

MySQL MySQL使用

犯”集资诈骗罪“、二审判6年的CTO | 法庭上的CTO(21)

赵新龙

CTO 法庭上的CTO

ArrayList源代码分析

肥鱼先生

盘点2020 | YourBatman 2020年感悟关键词:科比、裁员、管理层、活着

YourBatman

裁员 盘点2020 科比 管理层 活着

5G与4G的差别及应用

anyRTC开发者

人工智能 android AI 5G WebRTC

图解HTTP权威指南(三)| Web服务器对HTTP请求的处理和响应

李先生

DevOps 运维 HTTP SRE

侵犯著作权、判刑两年半的 CTO |法庭上的CTO(22)

赵新龙

CTO 法庭上的CTO

SpringCloudGateway(一) 概览

Java SpringcloudGateway

公安警务报警系统,二维码一键定位报警

t13823115967

二维码定位报警系统开发 微警务 二维码定位

智慧警务大数据可视化分析平台建设解决方案

WX13823153201

AAAI 2021论文:利用深度元学习对城市销量进行预测(附论文下载)

京东科技开发者

数据库 大数据 时序预测

阿里面试:Mybatis中方法和SQL是怎么关联起来的呢?

田维常

mybatis

被砍伤的技术VP | 法庭上的CTO(24)

赵新龙

CTO 法庭上的CTO

10次面试,2份offer —— 大龄程序员 2020 求职记录

escray

面试经历 架构师训练营第 1 期 101次面试

鸟枪换炮,利用python3对球员做大数据降维(因子分析得分),为C罗找到合格僚机

刘悦的技术博客

Python 数据分析 特征选择 降维

分享一个普通程序员的“沪漂”六年的历程以及感想

程序员老猫

回忆录 经历 年终总结 沪漂 上海买房

2021 ThoughtWorks 技术雷达峰会

2021 ThoughtWorks 技术雷达峰会

ElasticSearch新版发布,改进的聚合功能和脚本功能成亮点-InfoQ