松哥原创的 Spring Boot 视频教程已经杀青,感兴趣的小伙伴戳这里-->Spring Boot+Vue+微人事视频教程
ElasticSearch 系列第十篇,和大家聊一聊索引的基本操作,前九篇传送门:
-
打算出一个 ElasticSearch 教程,谁赞成,谁反对?
-
ElasticSearch 从安装开始
-
ElasticSearch 第三弹,核心概念介绍
-
ElasticSearch 中的中文分词器该怎么玩?
-
ElasticSearch 索引基本操作
-
ElasticSearch 文档的添加、获取以及更新
-
ElasticSearch 文档的删除和批量操作
-
ElasticSearch 文档路由,你的数据到底存在哪一个分片上?
-
ElasticSearch 并发的处理方式:锁和版本控制
以下是视频笔记:
注意,笔记只是视频内容的一个简要记录,因此笔记内容比较简单,完整的内容可以查看视频。
倒排索引是 es 中非常重要的索引结构,是从文档词项到文档 ID 的一个映射过程。
8.1 "正排索引"
我们在关系型数据库中见到的索引,就是“正排索引”。
关系型数据库中的索引如下,假设我有一个博客表:
我们可以针对这个表建立索引(正排索引):
当我们通过 id 或者标题去搜索文章时,就可以快速搜到。
但是如果我们按照文章内容的关键字去搜索,就只能去内容中做字符匹配了。为了提高查询效率,就要考虑使用倒排索引。
8.2 倒排索引
倒排索引就是以内容的关键字建立索引,通过索引找到文档 id,再进而找到整个文档。
一般来说,倒排索引分为两个部分:
-
单词词典(记录所有的文档词项,以及词项到倒排列表的关联关系)
-
倒排列表(记录单词与对应的关系,由一系列倒排索引项组成,倒排索引项指:文档 id、词频(TF)(词项在文档中出现的次数,评分时使用)、位置(Position,词项在文档中分词的位置)、偏移(记录词项开始和结束的位置))
当我们去索引一个文档时,就回建立倒排索引,搜索时,直接根据倒排索引搜索。
今日干货
13500
回复:135
公众号后台回复 2TB,免费获取 2TB Java 学习资料。
本文分享自微信公众号 - 江南一点雨(a_javaboy)。
如有侵权,请联系 support@oschina.cn 删除。
本文参与“OSC源创计划”,欢迎正在阅读的你也加入,一起分享。
相关文章
暂无评论...