Elasticsearch 是一个分布式可扩展的实时搜索和分析引擎,一个创建在全文搜索引擎 Apache Lucene(TM) 基础上的搜索引擎.固然 Elasticsearch 并不单单是 Lucene 那么简单。前端
首先须要知道什么是lucene,lucene它就是一个Java的jar包,里面实现了倒排索引的算法和其余的全文检索相关的东西,ElasticSearch就是对lucene进行了封装,为何有lucene了还要ElasticSeaearch来干什么呢?首先,当数据量很大的时候,好比有1PB的数据,这个时候数据放在同一台机器上基本就不行了,那么把数据分开来放在多台机器上呢?那就变成分布式了,这个时候数据前端获取数据的时候到底去那一台机器上面去获取数据呢?这个时候就很麻烦了,若是某一台机器宕机了,那么这个机器上的数据就获取不到了,这也就没法保证高可用性了,还有数据存储的时候怎么到底存入那台机器等等,这些都须要人为的处理和维护。这个时候ElasticSearch就应运而生了,它就将lucene这些弊端给彻底解决了。算法