首页
沸点
课程
数据标注
HOT
AI Coding
更多
直播
活动
APP
插件
直播
活动
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
登录
注册
确定删除此收藏集吗
删除后此收藏集将被移除
取消
确定删除
确定删除此文章吗
删除后此文章将被从当前收藏集中移除
取消
确定删除
编辑收藏集
名称:
描述:
0
/100
公开
当其他人关注此收藏集后不可再更改为隐私
隐私
仅自己可见此收藏集
取消
确定
搜索引擎
订阅
HM_涛
更多收藏集
微信扫码分享
微信
新浪微博
QQ
10篇文章 · 0订阅
用 Golang 写一个搜索引擎(0x03)--- 跳跃表,哈希表
前面已经说了倒排索引的基本原理了,原理非常简单,也很好理解,关键是如何设计第二个倒排表,倒排表的第二列也很好设计,第一列就是关键了,为了满足快速查找的性能,设计第一列的结构,我们需要满足以下两个条件。 查找非常快,能在极短的时间内找到我们需要的关键词所在的位置。 添加关键词也需…
用 Golang 写一个搜索引擎(0x01)--- 基本概念
从零开始,写一个搜索引擎 (0x01) 第零部分我们已经列了一个提纲了,这一篇文章开始要详细说说了。 搜索引擎基本概念 在说搜索引擎架构分层之前,我们先确定几个搜索引擎的概念。 文档,搜索引擎的基本数据单元,比如一张网页,一个商品,多个文档合在一起就是一个搜索引擎的完整数据 倒…
用 Golang 写一个搜索引擎(0x06)--- 索引构建
不知不觉写到第七篇了,按这个节奏,估计得写到 15 到 20 篇左右才能写完,希望自己能坚持下去,之前写代码的时候很多东西并没有想得那么细致,现在每写一篇文章还要查一些资料,确保文章的准确性,也相当于自己复习了一下吧,呵呵。 先说一下,关于倒排文件,其实还有很多东西没有讲,到后面再统一…
用Golang写一个搜索引擎(0x05)--- 文本相关性排序
上面我们已经说过了一些倒排索引的东西,并且也知道了如何来实现一个倒排索引完成检索功能,那么检索完了以后如何排序呢,这一篇简单的说一下倒排索引的文本相关性排序,因为排序实在是太复杂了,我们这里就说说文本的相关性排序,而且是最简单的TD-IDF排序,之后有机会可以再说说整个搜索的排…
用 Golang 写一个搜索引擎(0x09)— 数据增,删,改
根据某位和我同姓的朋友的建议,后面的文章都会加上副标题,方便查阅。 今天的文章会比较短,很快就能看完。 按照步骤,说完段层以后,应该就开始涉及到索引层了,但我想说的是一个分布式的搜索引擎,所以除了索引层以外,还有个分片层,这两个概念是紧密联系在一起的,我怕说不好,所以在说索引层…
用 Golang 写一个搜索引擎 (0x04) --- B + 树
本篇较长较枯燥,请保持耐心看完。 前面两章介绍了一下倒排索引以及倒排索引字典的两种存储结构,分别是跳跃表和哈希表,本篇我们介绍另一种数据结构,他也被大量使用在信息检索领域,我在 github 上实现的搜索引擎的词典也是用的这个数据结构,它就是 B + 树。 首先,我们看看什么是树,树是程…
用 Golang 写一个搜索引擎 (0x00)--- 从零开始
很早就想写一系列的这样的文章了,之前在一个电商公司做搜索,对搜索引擎有一些认识,来到一个新的创业公司以后非常高兴还有机会继续做这方面的事情,虽然领域已经变了,而且不是做搜索了,但是技术还是那些技术,并且有机会接触到了 Go 语言,对于一个将近 10 年 C/C++ 的程序员来说,Go 的一些…
用 Golang 写一个搜索引擎(0x08)--- 索引的段
我觉得这个标题应该改改了,我写下来其实是告诉大家怎么写一个搜索引擎,并没有涉及太多的 Golang 的东西,我觉得这样也挺好,熟悉了原理,用什么实现其实并不重要了,而且说说原理比说代码更实在。 之前已经说了底层的数据结构了,包括倒排和正排索引。今天我们上一层,来说说索引的字段和段。…
用 Golang 写一个搜索引擎(0x07)--- 正排索引
最近各种技术盛会太多,朋友圈各种刷屏,有厂商发的各种广告,有讲师发的各种自拍,各种参会的朋友们各种自拍,好不热闹,不知道你的朋友圈是不是也是这样啊,去年还没这么多技术会议,今年感觉爆发了,呵呵,真是一个互联网技术的好时代,而且还有各种撕 B 可看,真想八一八,怕得罪人,我们这种码农…
用 Golang 写一个搜索引擎(0x02)--- 倒排索引技术
这一篇,我们来说说搜索引擎最核心的技术,倒排索引技术,倒排索引可能需要分成几篇文章才说得完,我们先会说说倒排索引的技术原理,然后会讲讲怎么用一些数据结构和算法来实现一个倒排索引,然后会说一个索引器怎么通过文档来生成一个倒排索引。 倒排索引 什么是倒排索引呢?索引我们都知道,就是…