浅谈Elasticsearch集群的工作方式

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写数据

上一篇:索引技术简介


下一篇:搜索之Lucene