介绍
Elasticsearch是一个高度可扩展的开源全文搜索和分析引擎,它允许你快速,近实时地存储,搜索和分析大量数据,它通常用作底层引擎/技术,为具有复杂搜索功能和要求的应用程序提供支持。
以下是Elasticsearch可用于的一些示例用例:
- 你运行在线网上商店,允许你的客户搜索你销售的产品,在这种情况下,你可以使用Elasticsearch存储整个产品目录和库存,并为它们提供搜索和自动填充建议。
- 你希望收集日志或事务数据,并且希望分析和挖掘此数据以查找趋势,统计信息,摘要或异常,在这种情况下,你可以使用Logstash(Elasticsearch/Logstash/Kibana stack的一部分)来收集,聚合和解析数据,然后让Logstash将此数据提供给Elasticsearch。一旦数据在Elasticsearch中,你就可以运行搜索和聚合来挖掘你感兴趣的任何信息。
- 你运行价格警报平台,允许精通价格的客户指定一条规则,例如“我有兴趣购买特定的电子产品,如果小工具的价格在下个月内从任何供应商降至X美元以下,我希望收到通知”。在这种情况下,你可以抓取供应商价格,将其推入Elasticsearch并使用其反向搜索(Percolator)功能来匹配价格变动与客户查询,并最终在发现匹配后将提醒推送给客户。
- 你有分析/商业情报的需求,并希望快速调查,分析,可视化并询问有关大量数据的特定问题(想想数百万或数十亿条记录),在这种情况下,你可以使用Elasticsearch存储数据,然后使用Kibana(Elasticsearch/Logstash/Kibana stack的一部分)构建自定义仪表盘,以便可视化对你来说重要的数据方面。此外,你可以使用Elasticsearch聚合功能针对你的数据执行复杂的商业智能查询。
在本教程的其余部分中,将引导你完成启动和运行Elasticsearch,查看其中的内容以及执行索引,搜索和修改数据等基本操作的过程。在本教程结束时,你应该很好地了解Elasticsearch是什么,它是如何工作的,并希望能够从中得到启发,看看如何使用它来构建复杂的搜索应用程序或从数据中挖掘情报。