写点什么

Elasticsearch 的诞生、发展与愿景

  • 2014-12-10
  • 本文字数:1715 字

    阅读完需:约 6 分钟

Elasticsearch 是一款基于 Apache Lucene 构建的开源搜索引擎,它采用 Java 编写并使用 Lucene 构建索引、提供搜索功能,Elasticsearch 的目标是让全文搜索变得简单,开发者可以通过它简单明了的 RESTFul API 轻松地实现搜索功能,而不必去面对 Lucene 的复杂性。Elasticsearch 能够轻松的进行大规模的横向扩展,以支撑 PB 级的结构化和非结构化海量数据的处理,最近来自于 S&S Media 的 Diana Kupfer 就 Elasticsearch 的发展历程采访了其创建者Shay Banon,本文整理了该采访的主要内容,如果想阅读英文原文,可以点击这里

在谈到为什么会接触Lucene 并开发Elasticsearch 的时候,Shay Banon 认为自己参与Lucene 完全是一种偶然,当年他还是一个待业工程师,跟随自己的新婚妻子来到伦敦,妻子想在伦敦学习做一名厨师,而自己则想为妻子开发一个方便搜索菜谱的应用,所以才接触到Lucene。直接使用Lucene 构建搜索有很多问题,包含大量重复性的工作,所以Shay 便在Lucene 的基础上不断地进行抽象,让Java 程序嵌入搜索变得更容易,经过一段时间的打磨便诞生了他的第一个开源作品“Compass”,中文即“指南针”的意思。之后,Shay 找到了一份面对高性能分布式开发环境的新工作,在工作中他渐渐发现越来越需要一个易用的、高性能、实时、分布式搜索服务,于是他决定重写Compass,将它从一个库打造成了一个独立的server,并将其改名为Elasticsearch。

对于开发开源分布式系统的一些最佳实践,以及需要特别注意的地方,Shay Banon 认为构建一个分布式的系统并不容易,在将Elasticsearch 从一个个人项目变成一个公司项目之后,他们的首要任务就是创建一个崭新的测试基础设施以测试并验证系统的行为。分布式系统需要在网络上的不同机器上运行,这意味着当错误发生的时候很难调试,为此Elasticsearch 花费了大量时间构建了一个能够将分布式测试作为“普通”集成测试的一部分运行的测试工具。Shay Banon 认为“如果一个系统没有测试,何谈它的运行机理”,测试系统是构建分布式系统最重要的基础设施之一。

Shay Banon 认为对于现在的企业而言数据是所有业务的生命源泉,企业想要通过最简单的方式从数据中获取尽可能多的价值,而搜索就是实现这一目标的一种非常好的方式。 Elasticsearch 能够对海量数据进行全文搜索,结构化的搜索和分析,并且已经被大量的组织所使用,包括 Foursquare、Wikimedia、GitHub 以及 CERN。谈到 Elasticsearch 的成功,Shay Banon 认为 Elasticsearch 通过构建一种能够允许用户将任意领域模型映射到“搜索”上的技术实现了用例的爆发式增长;通过标准化的 JSON 和 RESTful 接口,使用不同编程语言、不同框架的开发者可以将其应用到各种各样的用例中。另外,Elasticsearch 不关心数据的类型,无论是传统的 web 页面、word 文档、web 服务器的日志,还是 Foursquare 上的一个位置,银行的一条交易记录都可以通过它进行索引并搜索。

今年夏天,Elasticsearch 获得了 7000 万美元的 C 轮融资,对于该融资对公司路线图的影响,Shay Banon 说:

“正如你所看到的,作为一家公司我们有非常雄伟的目标。我们最高的目标就是尽快地为我们的用户交付实实在在的东西。在创建公司的时候我们做的第一件事就是确保所有流行的语言和框架都有正式的客户端驱动。现在,我们已经有可以与 Ruby、Python、PHP、Perl、.NET 和 Java 集成的客户端,将来会有更多。我们还在构建 Kibana 和 Logstash,前者旨在让用户能够非常容易地可视化 Elasticsearch 中的数据,后者则是为了收集、分析和存储日志而设计,用户可以使用它将数据导入到 Elasticsearch 中。除此之外,我们还在开发一个能够将 Elasticsearch 与 Hadoop 集成到一起的模块,它支持所有的 Hadoop 发行版,包括 Apache Hadoop、MapR、Cloudera 和 Hortonworks。这些都是大项目,大部分投资都进入到了这些项目的开发中。通过融资,我们不仅能够确保公司可以实现短期目标,同时还能够制定雄伟的长期计划并尽快地开始实施。”


感谢郭蕾对本文的审校。

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

2014-12-10 02:2814591
用户头像

发布了 321 篇内容, 共 133.0 次阅读, 收获喜欢 19 次。

关注

评论

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

AI 点燃体育热情!使用 PAI-Artlab 定制专属海报

阿里云大数据AI技术

人工智能 奥运会 AIGC 文生图 PAI

防盗、防泄露、防篡改,我们把 ZooKeeper 的这种认证模式玩明白了

阿里巴巴云原生

阿里云 微服务 云原生

未来已来:阿里巴巴商品搜索API返回值的智能化展望

技术冰糖葫芦

api 货币化 API 接口 API 文档 API 测试

将大模型装进PC和手机,需要怎样的底层创“芯”?

脑极体

AI

嘉为蓝鲸WeOps上新:新增机房机柜视图,集中管理IT设备

嘉为蓝鲸

运维 weops IT资产管理

涨姿势啦!Go语言中正则表达式初始化的最佳实践

左诗右码

Go

私网环境下如何使用云效流水线进行 CI/CD?

阿里云云效

阿里云 云原生 云效

私网环境下如何使用云效流水线进行 CI/CD?

阿里巴巴云原生

阿里云 云原生 云效

从一个服务预热不生效问题谈微服务无损上线

阿里巴巴云原生

阿里云 微服务 云原生

Golang 策略设计模式

俞凡

架构 设计模式

国际化战略:京东商品详情API的全球视野

技术冰糖葫芦

api 货币化 API 接口 API 文档 API 测试

开启DevOps+AI智能新时代,嘉为蓝鲸智能AI助手CAssist全新上线!

嘉为蓝鲸

DevOps 生成式AI

可观测产品剖析——硬件监控

嘉为蓝鲸

运维 监控 数据监测 数据接入

可观测产品剖析——日志统一管理

嘉为蓝鲸

日志监控 日志管理 日志采集

数据复盘“黑色星期一”:加密市场震荡,代币表现如何?

区块链软件开发推广运营

dapp开发 区块链开发 链游开发 NFT开发 公链开发

Spring Boot 基于 SCRAM 认证集成 Kafka 的详解

不在线第一只蜗牛

kafka Spring Boot

千行万业的数智化,将在全闪普惠的土壤上开出新花

Alter

通义灵码代码大模型应用实践访谈

阿里云云效

阿里云 云原生 通义灵码

Java RMI技术详解与案例分析

不在线第一只蜗牛

Java

代理IP如何助力品牌保护?

IPIDEA全球HTTP

品牌 代理IP

广汽集团与火山引擎签署战略合作协议

新消费日报

重磅!观测云荣获SOC 2 Type II鉴证报告

观测云

安全合规

如何用 CocosCreator 对接抖音小游戏的侧边栏复访

北桥苏

小游戏 小游戏开发 CocosCreator

通义灵码代码大模型应用实践访谈

阿里巴巴云原生

阿里云 云原生 通义灵码

文旅科技公司:云管高效赋能,加速云上业务蓬勃发展

嘉为蓝鲸

运维 多云管理平台 云管理

再获殊荣!嘉为蓝鲸携手电力公司入选工信部信创典型解决方案

嘉为蓝鲸

运维 数字化转型 信创

Elasticsearch的诞生、发展与愿景_大数据_孙镜涛_InfoQ精选文章