1. 简介
- 历史及起源
Elasticsearch的创始人是一名以色列人,名叫谢伊·班农( Shay Banon),2004年新婚不久的班农陪同夫人到伦敦学习厨师,他刚到伦敦没有工作,于是他打算写一个叫做iCook小程序来帮助夫人搜索和管理菜谱,当时他选择以Apache Lucene来做这个小程序,但是后来他发现直接使用Lucene非常痛苦,Lucene虽然强大,但是使用起来并不容易,于是他在Lucene基础上封装了一个叫做Compass的框架,这就是Elasticsearch的前身。2010年的时候班农决定重写Compass以满足当时大众对于分布式的需求,并将其重新命名为Elasticsearch(弹性搜索),后来Elasticsearch逐渐成为了GitHub上最受欢迎的项目之一,再后来班农与另一位合伙人成立了一家公司,名叫elastic,对Elasticsearch做一些商业化的包装及支持。 - 什么是Elasticsearch
Elasticsearch是一款开源的分布式的全文搜索引擎,适用于所有类型的数据,包括文本、数字、时间、结构化和非结构化数据,在 Apache Lucene 的基础上开发而成, 以其简单的 REST 风格 API、分布式特性、速度和可扩展性而闻名。
它有如下几个特点:
- 分布式:可以扩展至数百台(甚至数千台)服务器,并处理 PB 量级的数据
- 近实时:近实时:文档索引操作到文档变为可搜索状态之间的延时很短,一般只有一秒
- 易使用:简单的Restful api,支持多种语言,且安装及集群搭建都非常简单,开箱即用
2. 相关概念
在学校Elasticsearch之前我们有必要了解关于Elasticsearch的一些概念:
- 集群和节点
集群和节点不必多说,集群是由一个或多个具有相同集群名称的节点组成的集合,对外提供索引和搜索服务,集群中各个节点的节点名称不能相同;节点是逻辑上独立的服务&#x