ElasticSearch的优点

简介
Elasticsearch,是目前行业中非常热门的一个技术。Elasticsearch是一种分布式的海量数据搜索与分析的技术,可以用于电商网站、门户网站、企业IT系统等各种场景下的搜索引擎,也可以用于对海量的数据进行近实时的数据分析。相较于Lucene来说,Elasticsearch天然的分布式特性,让其可以支持海量的、PB级的大数据搜索。相对于Spark Streaming、Storm等大数据实时计算引擎来说,Elasticsearch天生为分布式执行数据分析操作而生的架构,海量数据量级下的近实时(秒级)性能支持,以及无比强大的搜索和聚合分析的语法支持,让ES更加适合进行大数据场景下的数据分析应用。

Spark Streaming进行实时数据分析,有天然的无法全量多数据流join、内核shuffle过程大量基于磁盘落地等缺陷,导致其实时数据分析功能较差,实时数据分析性能也较差。Storm则作为实时计算引擎的鼻祖,由于其对SQL的支持很弱,导致其非常不适合进行实时数据分析,开发成本巨大。而Elasticsearch克服了上述大数据技术的缺点,更加适合进行大数据场景下的数据分析操作。

中英文翻译
Elasticsearch tries hard to hide the complexity of distributed systems.
Here are some of the operations happening automatically under the hood
【Elasticsearch 尽力隐藏了分布式系统的复杂性,这里尝试了很多方法在后台自动处理分布式的问题】:
Partitioning your documents into different containers or shards, which can be stored on a single node or on multiple nodes
【将你的文档分割到不同容器或者分片中,可以存在单个节点或多个节点】
Balancing these shards across the nodes in your cluster to spread the indexing and search load
【在集群节点间平衡这些分片,为了更好地扩展索引和搜索负载】
Duplicating each shard to provide redundant copies of your data, to prevent data loss in case of hardware failure
【复制每个分片提供数据备份,防止硬件问题导致数据丢失】
Routing requests from any node in the cluster to the nodes that hold the data you’re interested in
【对集群中任意节点的相互请求进行路由,保证获取的数据是你需要的】
Seamlessly integrating new nodes as your cluster grows or redistributing shards to recover from node loss
【当你的集群增加或者重新分配分片时,不停机让新节点恢复丢失的节点分片数据】

需要掌握的内容
1、快速掌握Elasticsearch的各种使用,包括document管理,索引管理,搜索,聚合分析,等等。
2、细致掌握Elasticsearch的各种高级核心知识点,包括乐观锁并发控制,mget+bulk批处理,零停机场景下重建索引,dynamic mapping模板定制,分词器定制,等等。
3、深入理解Elasticsearch的各种核心原理,包括分布式架构原理,分布式文档系统原理,分布式搜索引擎原理,内核级原理。
4、快速掌握基于Java来开发Elasticsearch的简单应用程序,实现包括document增删改查,常见的搜索操作,常见的聚合分析操作。

你可能感兴趣的:(搜索引擎)