elasticsearch的应用场景分析

参考文章: Elasticsearch、MongoDB和Hadoop比较

                   搜索引擎选型调研文档

--------------------------------------------------------------------------------------------------

ElasticSearch:

  • 分布式实时文件存储,并将每一个字段都编入索引,使其可以被搜索。

  • 实时分析的分布式搜索引擎。

  • 可以扩展到上百台服务器,处理PB级别的结构化或非结构化数据。

使用案例:

  • 维基百科使用Elasticsearch来进行全文搜做并高亮显示关键词,以及提供search-as-you-type、did-you-mean等搜索建议功能。

  • 英国卫报使用Elasticsearch来处理访客日志,以便能将公众对不同文章的反应实时地反馈给各位编辑。

  • StackOverflow将全文搜索与地理位置和相关信息进行结合,以提供more-like-this相关问题的展现。

  • GitHub使用Elasticsearch来检索超过1300亿行代码。

  • 每天,Goldman Sachs使用它来处理5TB数据的索引,还有很多投行使用它来分析股票市场的变动。

但是Elasticsearch并不只是面向大型企业的,它还帮助了很多类似DataDog以及Klout的创业公司进行了功能的扩展。

--------------------------------------------------------------------------------------------------

Elasticsearch是一个实时的分布式搜索和分析引擎。它可以帮助你用前所未有的速度去处理大规模数据。

它可以用于全文搜索,结构化搜索以及分析,当然也可以将这三者进行组合。

Elasticsearch:全文搜索引擎,适合存储text文档;

Elasticsearch是一个分布式text检索引擎;

ES 是full text search engine;

Elasticsearch不是一个合适的数据库引擎,对复杂的查询和聚合并不是很强;

目前Elasticsearch已经增加了aggregation的功能;

Elasticsearch建立在Lucene之上并且支持极其快速的查询和丰富的查询语法;

如果你有数百万的文档需要通过关键词进行定位时,Elasticsearch肯定是最佳选择;

如果文档是JSON的,可以把Elasticsearch当作一种轻量级的“NoSQL数据库”;

如果你在寻找一个对应于一个关键词查询的少量的文档集合,并且要支持在这些结果中分面的导航,那么Elasticsearch肯定是最好的选择。如果你需要进行更加复杂的计算,对数据执行服务端的脚本,轻松地运行MapReduce job,那么MongoDB或者Hadoop就进入待选项中

--------------------------------------------------------------------------------

Hbase + Hadoop
海量数据、大计算量,适合持久存数据,适合做深度的数据分析

如果题主要做实时、动态的计数,则推荐ES
如果题主要跑些月报表什么的,则推荐Hbase

--------------------------------------------------------------------------------

es适合搜索和分析小规模数据,速度快过hbase
hbase稳定可靠,而且可以通过mr spark等大批量拉取数据

你可能感兴趣的:(elasticsearch,elasticsearch)