ElasticSearch是一个具有高扩展性的开源全文搜索分析引擎。允许用户快速(接近实时)地存储、查询、分析大容量数据。它通常作为底层引擎/技术赋予应用系统复杂搜索的功能。
以下是几个ElasticSearch的使用场景样例:
- 运行一个在线商城,允许消费者查询你卖的产品。在此场景中,你可以使用ElasticSearch存储你的完整产品目录和库存清单,然后为客户提供查询和自动推送服务。
- 收集日志或事务数据,并希望分析和挖掘这些数据,以查找趋势、统计数据、摘要或是异常。此场景中,你可以使用
Logstash
(Elasticsearch/Logstash/Kibana stack中的一部分)来收集、聚合和解析你的数据,然后让Logstash将这些数据输入ElasticSearch。一旦数据进入到ElasticSearch中,你可以运行搜索和聚合来挖掘您感兴趣的任何信息。- 运行一个价格警报平台,允许对价格敏感的客户指定如下规则:“我有兴趣购买特定的电子产品,如果其价格在下个月内低于X美元,我希望得到通知”。此场景下,你可以获取卖家价格,放入Elasticsearch中,并使用
反向搜索(Percolator)
功能来匹配客户查询的价格变化,并最终根据发现的匹配项来向用户发出警报。- 你有分析/商业智能的需求,你想要快速地调查、分析、可视化,并对很多数据(想想数百万或数十亿条记录)提出一些特别的问题。此情景中,你可以使用Elasticsearch来存储你的数据,然后使用
Kibana(Elasticsearch/Logstash/Kibana stack中的一部分)
来构建可以将数据中你认为重要的方面可视化地展现在其中的自定义仪表盘。另外,你可以使用Elasticsearch的聚合功能来对你的数据进行复杂的商业智能查询。
在此教程的剩余部分,你将被引导去启动和运行ElasticSearch、查看其内部结构、执行诸如索引之类的基础操作、查询和修改数据,你可以很好地了解Elasticsearch是什么,它如何工作,希望你能从中得到启发,看看如何使用它来构建复杂的搜索应用程序或从数据中挖掘信息。