Elasticsearch概念

正排索引:

根据已知条件搜索,例如根据id查询某一记录;

id

title

price

1

小米手机

3499

2

华为手机

2999

3

小米手环

1222

引言:

对于数据库而言,所有的索引都是正排索引,而且索引只能添加于小字段,以免造成索引过长;

而对于内容较长得数据字段则不能使用正排索引,且当搜索条件是某一字段的部分时需要使用like模糊查询,

模糊查询是将每一条记录逐条扫描进行查询,效率太慢,这时就可以使用搜索引擎(倒排索引)进行内容查询


倒排索引:

将内容分成多个词,每个词条都是唯一的,再给词条添加索引,这样就可以找出含有包含该词条得所有记录id,

此时就可以找出所有包含该词条的所有内容,这样从内容搜索得方式就是倒排索引

Elasticsearch概念_第1张图片


 

elasticsearch存储

elasticsearch是面向文档存储的,可以是数据库得一条商品数据,一个订单信息;

文档数据是以json得形式保存到elasticsearch中;

例如:下面就是一条记录保存到elasticsearch中的形式:

Elasticsearch概念_第2张图片


索引:

索引:相同的文档集合,例如下面三个不同的文档集合

映射:索引中文档的字段约束信息,类似表的表结构(id,name,age)

Elasticsearch概念_第3张图片


mysql与elasticsearch概念对比:

Elasticsearch概念_第4张图片

架构:

elasticsearch:适合海量数据的搜索,分析,计算

mysql:适合事务性的操作,例如curd

Elasticsearch概念_第5张图片

你可能感兴趣的:(es,es,java,elasticsearch)