Getting Started(入门指南)
Elasticsearch 是一个高度可扩展且开源的全文检索和分析引擎。它可以让您快速且近实时地存储,检索以及分析海量数据。它通常用作那些具有复杂搜索功能和需求的应用的底层引擎或者技术。
下面是 Elasticsearch 一些简单的使用案例 :
- 您运行一个可以让您顾客来搜索您所售产品的在线的网络商店。在这种情况下,您可以使用 Elasticsearch 来存储您的整个产品的目录和库存,并且为他们提供搜索和自动完成的建议。
- 您想要去收集日志或交易数据,并且您还想要去分析和挖掘这些数据以来找出趋势,统计,概述,或者异常现。在这种情况下,您可以使用 Logstash(Elasticsearch/Logstash/Kibana 技术栈中的一部分)来收集,聚合,以及解析数据,然后让 Logstash 发送这些数据到 Elasticsearch。如果这些数据存在于 Elasticsearch 中,那么您就可以执行搜索和聚合以挖掘出任何您感兴趣的信息。
- 您运行一个价格警告平台,它允许客户指定精确的价格,如“我感兴趣的是购买指定的电子产品,如果任何供应商该产品的价格在未来一个月内低于 $X 这个价钱的话我应该被通知到”。在这种情况下,您可以收集供应商的价格,推送它们到 Elasticsearch 中去,然后使用 reverse-search(Percolator)(反向搜索(过滤器))功能以匹配客户查询价格的变动,最后如果发现匹配成功就给客户发出通知。
- 您必须分析/商业智能的需求,并希望快速的研究,分析,可视化,并且需要 ad-hoc(即席查询)海量数据(像数百万或者数十亿条记录)上的质疑。在这种情况下,您可以使用 Elasticsearch 来存储数据,然后使用 Kibana(Elasticsearch/Logstash/Kibana 技术栈中的一部分)以建立一个能够可视化的对您很重要的数据方面的定制的 dashboards(面板)。此外,您还可以使用 Elasticsearch 的聚合功能对您的数据执行复杂的商业智能查询
对于本教程的其余部分,我将引导您完成 Elasticsearch 的启动和运行的过程,同时了解其原理,并执行像 indexing(索引),searching(查询)和 modifing(修改)数据的基础操作。在本教程的最后一部分,您应该可以清楚的了解到 Elasticsearch 是什么,它是如何工作的,并有希望获得启发。看您如何使用它来构建复杂的搜索应用程序或者从数据中挖掘出想要的信息。