今天开始要接触ElasticSearch(如下称ES)搜索引擎,以前只是听过Solr,彻底没听过也没用过,因此这篇文章做为基础入门记录。mysql
ElasticSearch是一个创建在全文搜索引擎 Apache Lucene™ 基础上的高可用开源全文检索和分析组件。提供存储服务,搜索服务,大数据准实时分析等。通常用于提供一些提供复杂搜索的应用,基于RESTful web接口。Elasticsearch是用Java开发的,并做为Apache许可条款下的开放源码发布,是当前流行的企业级搜索引擎。设计用于云计算中,可以达到实时搜索,稳定,可靠,快速,安装使用方便。简单的说就是一个提升大量数据搜索能力的搜索引擎。
可是咱们为何必定要用它呢?Mysql能够添加索引啊,也能够作集群。 mysql的索引若是创建太多,虽然查询数据效率提升了,可是新增和修改将极大的减慢,因此不宜创建太多索引,而ES每个字段均可以是索引,却不会影响更新和修改的操做。web
如今ES已是JAVA界搜索引擎的当红炸仔鸡,愈来愈多的网站使用它。其中包含Github,Mozilla,Sony。国内也有愈来愈多的公司加入这个阵营了。
ES有以下的优势:sql
轻量级。下载ES,直接启动/bin下的start,一个服务的节点就启动了。服务器
天生分布式,极简配置就能够完成分布式。想要将多个节点加入一个集群中,只要在每一个节点中配置相同的集群名,ES节点会自动嗅探其余节点而后加入相同名的集群。出现故障后,会自动排除故障机器,并从新分配压力至有效的其余机器。分布式
分片机制。同一个索引分红多个分片(sharding),分片利于治理,也方便为集群和高可用提供支持学习
高可用。提供复制(replica)机制,一个分片能够设置多个复制,使得某台服务器宕机的状况下,集群仍旧能够照常运行,并会把因为服务器宕机丢失的复制恢复到其它可用节点上。大数据
简单易上手。ES自己带了不少的标准配置,对于新手来讲启动节点,作基本的配置以后(乃至不须要任何配置)就可使用。极大地缩短上手时间和学习时间。在你之后熟悉以后能够作更多的定制化配置。 固然ES还有不少不少的优势,有兴趣能够本身了解了解。网站
下一节介绍一下ES的几个核心概念。搜索引擎