ElasticSearch存储和搜索原理


前言

假设数据库存在以下几条数据
在这里插入图片描述

一、ES中存储及搜索原理图

在这里插入图片描述

二、说明

ES的数据库我们称之为 index(索引库),每条数据我们称之为 document(文档),ES在存储文档的时候,会对它需要分词的字段内容进行切分,切分成一个个词条,再建立每个词条与文档唯一标识(id)的对应关系,即倒排索引。

之前数据库存在的两个问题,通过ES是否能够解决:

1.性能低:使用模糊查询,左边有通配符,不会走索引,会全表扫描,性能低。

ES解决方案:如果使用"手机"作为关键字查询,ES生成的倒排索引中,词条会排序,形成一颗树形结构,提升词条的查询速度。

2.功能弱:如果以"华为手机" 作为条件,查询不出来数据

ES解决方案:如果使用"华为手机"作为关键字查询,ES也可以对搜索的关键字进行分词,比如将华为手机拆分成"华为"、“手机”,然后根据两个词分词去倒排索引中进行查询,然后取结果的并集。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值