ElasticSearch概念以及我自身的理解

这里是引用

1.ElasticSearch

1.1 ElasticSearch简介

Elasticsearch是一个基于Lucene的开源高扩展的分布式全文检索引擎,它可以近乎实时的存储、检索数据;

使用RESTful api隐藏Lucene的复杂操作。Elasticsearch是用Java开发的,并作为Apache许可条款下的开放源码发布,是当前流行的企业级搜索引擎。

1.1 Lucene

被认为是最好的搜索引擎,但是操作难度极高,内部结构非常复杂

2.1 ElasticSearch数据结构

其实拿他和mysql做对比就很好理解
ElasticSearch概念以及我自身的理解_第1张图片
其中Type(相当于mysql中的表),在7.0版本以后就被放弃了,原因个人理解应该是在之前es将index、type类比于关系型数据库(例如mysql)中database、table,这么考虑的目的是“方便管理数据之间的关系”

但是前文提到es其实是基于lucene的,不同类型的“记录”存储在同一个index中,其实会影响lucene的压缩性能,所以取消了Type的概念.

这么一看,没了type确实不太好对于mysql的结构,但是提高了查询效率还是挺不错的,就像刚进入es的那句话"You Know, for Search"。你知道的,为了搜索!

本文会根据作者的学习持续完善更新

你可能感兴趣的:(es,elasticsearch,java,lucene,分布式)