基于Lucene的分布式搜索引擎: Elasticsearch 1.3.0发布

ElasticSearch是一个基于Lucene构建的开源、分布式、RESTful的搜索引擎,且遵守Apache2协议。ElasticSearch还能够用于云计算中,且能够满足实时搜索的需要,具有稳定、可靠、快速、安装使用方便等特点。它支持通过HTTP使用JSON进行数据索引,还可以通过集成插件的方式,支持Thrift、Servlet、Memcached、ZeroMQ等的传输协议。近日,Elasticsearch 1.3.0版本发布,它是最新的稳定版本,且基于 Lucene 4.9。该版本不仅添加了许多新功能,还提高了安全性、稳定性和性能,同时修复了大量的bug,建议对索引性能有很高要求的应用进行版本升级。主要改进包括:

  • 默认禁用了JSONP,提高了安全性
  • 默认启用磁盘空间分配决策者
  • 提高了StemmerTokenFilter的性能
  • 移除不必要的中间接口
  • 移除不安全的、非法的内存访问方法
  • 实现了主机的在异步方式下即可更新映射
  • 使用429错误码替换503的错误码反馈到客户端
  • 新增了percentiles_rank聚集
  • 新增了top_hits聚集
  • 新增了Lucene表达式脚本引擎
  • 新增了对Groovy脚本语言支持和Groovy沙盒
  • 实现了存储在索引中的搜索模板在搜索时可以被检索和使用
  • 能够运行存储在.scripts索引中的脚本或者模板
  • Elasticsearch可以在内存里跟踪最近索引文档的版本,自动清理版本映射
  • Translog刷新阀值不再由日志的数量控制,而是以日志的字节数量大小控制。
  • 在索引过程中可以自动调整用做索引缓存区的RAM数量

由于Elasticsearch具有能够实时搜索、开源、稳定、快速、支持分布式等众多优点,所以许多国外著名的公司都在使用ElasticSearch,如Github、Mozilla、Sony等公司,其中我们所熟知的Github在2013年1月升级了他的代码搜索,由Solr转为Elasticsearch。目前它的集群规模为26个索引存储节点和8个客户端节点(负责处理搜索请求),能够搜索20TB的数据,这些数据包括13亿的文件和1300亿行的代码。

Elasticsearch 1.3.0发布的同时,Elasticsearch 1.2.3也发布了,它是1.2.x系列版本的一个bug修复版本,详细信息参见该版本的发布页面。

欲知Elasticsearch更多相关详细信息,请登录其首页查看。Elasticsearch 1.3.0已经提供了ZIP、TAR.GZ、DEB、RPM多种格式的下载源,开发者可以根据自己的操作系统选定合适的格式下载。

感谢郭蕾对本文的审校。

给InfoQ中文站投稿或者参与内容翻译工作,请邮件至[email protected]。也欢迎大家通过新浪微博(@InfoQ)或者腾讯微博(@InfoQ)关注我们,并与我们的编辑和其他读者朋友交流。

你可能感兴趣的:(基于Lucene的分布式搜索引擎: Elasticsearch 1.3.0发布)