Elasticsearch 是一个实时的分布式搜索和分析引擎。它可以帮助你用前所未有的速度去处理大规模数据。
它可以用于全文搜索,结构化搜索以及分析,当然你也可以将这三者进行组合
维基百科使用 Elasticsearch 来进行全文搜索并高亮显示关键词,以及提供search-as-you-type、did-you-mean等搜索建议功能。
英国卫报使用 Elasticsearch 来处理访客日志,以便能将公众对不同文章的反应实时地反馈给各位编辑。
StackOverflow 将全文搜索与地理位置和相关信息进行结合,以提供more-like-this相关问题的展现。
GitHub 使用 Elasticsearch 来检索超过1300亿行代码。
每天,Goldman Sachs 使用它来处理5TB数据的索引,还有很多投行使用它来分析股票市场的变动。
但是Elasticsearch并不只是面向大型企业的,它还帮助了很多类似 DataDog 以及 Klout 的创业公司进行了功能的扩展。Elasticsearch 可以运行在你的笔记本上,也可以部署到成千上万的服务器上,处理PB级别的数据。
Elasticsearch 每一个独立的部分都不是新创的。比如全文搜索早就已经被实现,统计系统和分布式数据库也早已存在。但是革命之处在于能将这些独立的功能结合成一个连贯、实时处理的整体。对于新用户,它的门槛也很低,当然他也会因为你的强大而变得更强大。
你之所以拿起这本书,就是因为你眼前有很多的数据,但是你并不知道如何使用他们,接下来我们将开始探讨有关处理数据的事情。
很不幸的是,目前的大部分数据库在提取数据方面都是非常的薄弱的。虽然它们可以通过精准的时间戳或者确切的数值来进行内容的筛选,但是它们可以在全文搜索时做到同义词或者相关性搜索吗?他们可以汇总相同内容数据吗?最重要的是,每对如此巨大的数据量,它们能做到实时处理吗?
这便是 Elasticsearch 如此突出的理由:Elasticsearch 可以帮助你浏览并利用已经快要烂在数据库里的那些极难查询的数据。
Elasticsearch 将会成为你一生的小伙伴。