Elasticsearch介绍
Elasticsearch 是一个分布式可扩展的实时搜索和分析引擎,一个建立在全文搜索引擎 Apache Lucene(TM) 基础上的搜索引擎,通过简单的RESTful API来隐藏Lucene的复杂性,从而让全文搜索变得简单。
它可以近乎实时的存储、检索数据;本身扩展性很好,可以扩展到上百台服务器,处理PB级别的数据。
将Elasticsearch和关系型数据术语对照表
关系数据库 | 数据库 | 表 | 表记录 | 列
Elasticsearch | 索引(Index) | 类型(type) | 文档(Docments) | 字段(Fields)
Elasticsearch索引的设计都是为了提高搜索的性能。而且提高搜索的性能,难免会牺牲某些其他方面,比如Elasticsearch的插入/更新会比较慢。
Elasticsearch里插入一条记录,其实就是直接PUT一个json的对象,这个对象有多个fields,在插入这些数据到Elasticsearch的同时,Elasticsearch还默默1的为这些字段建立索引--倒排索引,因为Elasticsearch最核心功能是搜索。
Elasticsearch工作原理
当ElasticSearch的节点启动后,它会利用多播(multicast)(或者单播,如果用户更改了配置)寻找集群中的其它节点,并与之建立连接。
Elasticsearch写数据