Elasticsearch简介
随着互联网数据量的飞跃增长,数据存储和查询的难度越来越大。应对这些难题,传统的解决方案也不断的升级,从最简单的数据库主从集群,到消息中间件,分布式。但是这些技术的背后引发了一些列的数据一致性问题,这个时候Elasticsearch顺应时代出世了。
是一个开源的高扩展的分布式全文检索引擎,它可以近乎实时的存储、检索数据;本身扩展性很好,可以扩展到上百台服务器,处理PB级别的数据。
Elasticsearch也使用Java开发并使用Lucene作为其核心来实现所有索引和搜索的功能,但是它的目的是通过简单的RESTful API来隐藏Lucene的复杂性,从而让全文搜索变得简单。
术语介绍
Index(索引)
类似于传统关系型数据库中数据库的概念,有一个type或者多个type(6.x版本之前),多个shard组成。
Type
类似于传统关系型数据库中表的概念,由多个Doc组成。在6.x版本废除type的概念,一个index只有一个type。
Doc(文档)
类似于传统关系型数据库中一行记录的概念,ES中的最小的、完整的数据单位。