ElasticSearch存储和搜索原理

文章目录

  • 前言
  • 一、ES中存储及搜索原理图
  • 二、说明


前言

假设数据库存在以下几条数据
ElasticSearch存储和搜索原理_第1张图片

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

ElasticSearch存储和搜索原理_第2张图片

二、说明

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

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

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

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

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

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

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