分词器|当你按下搜索键时,发生了什么?(上)( 四 )


分词器|当你按下搜索键时,发生了什么?(上)
文章插图
2)倒排索引的构建流程
倒排序索引的构建有两个表格至关重要。表一为文档编号及文档内容,表二为分词后关键词及对应文档编号。数据的存储时,将表二拆分为两个数据结构,用于存储倒排文件以及关键词及其偏移量。
搜索最基础、简单的流程便是外部关键词输入,表二中查询到关键词出现的位置以及文档编号,最终输出结果文档内容。
分词器|当你按下搜索键时,发生了什么?(上)
文章插图
2.2.2 正排序索引
正排索引(forward index),以文档编号为关键字,表中记录文档中每个字的位置信息,查找时扫描表中每个文档中字的信息直到找出所有包含查询关键字的文档。正排序索引的查询往往满足每个文档有序、频繁的全文查询和每个单词在校验文档中验证这样的查询。
正排索引可以查询汇总到关键字的属性、相关的频次以及位置等,适用于一些过滤操作以及汇总操作。
分词器|当你按下搜索键时,发生了什么?(上)
文章插图
比如说搜索 “干饭”时,可以快速查询出包含“干饭”这个关键字的文档,有利于关键字相关性和权重的计算。正排序索引,搜索“干饭”时,搜索引擎需要检索每一个文档中的每一个关键词,正排索引适合于一些区间的索引。在电商的搜索中,有较多的过滤、筛选的选项,因此同时引入正排索引和倒排索引还是很必要的。
2.3 检索未完待续…
索引构建完成后,便可依据所提供关键词,进行检索。关键词的检索、排序,以及搜索引导将在《当你按下搜索键时,发生了什么(中)》做简单介绍。
【 分词器|当你按下搜索键时,发生了什么?(上)】本文主要是从小白的角度尝试理解搜索引擎的工作原理及工作流程。初次涉及搜索领域,文中概念、措辞如有偏差,请留言指教,将虚心学习更正。
本文由 @大仓鼠 原创发布于人人都是产品经理。未经许可,禁止转载
题图来自Unsplash,基于CC0协议