Freedom

淡泊以明志,宁静以致远。

如何设计与实现一个分布式索引框架(四):索引更新

这是一个系列文章,大部分内容都来自我过去在小红书发现 Feed 团队工作期间的实践和经验。在介绍的过程中我会尽量不掺杂过多的业务细节,而专注于这背后我个人一些浅薄的设计思想,希望你在阅读完这些文章以后能够直接或者间接地拓展到不同的场景。

上一篇文章介绍了如何实现正排索引和二级索引,但要创建索引也得先有数据才行,本篇将会介绍数据是如何更新的。

Maybe News Issue #0

前言:从这一期开始这个系列将会有一个正式的名字「Maybe News」,名字来源于我非常喜欢的一个国内的音乐厂牌「兵马司」(Maybe Mars)。本身我分享的内容也很有可能是一些旧闻,只不过对于我来说是还未了解的知识罢了。上一期的名字还是维持原样就不做修改。你也可以通过邮件订阅这个系列的文章。

如何设计与实现一个分布式索引框架(三):正排索引

这是一个系列文章,大部分内容都来自我过去在小红书发现 Feed 团队工作期间的实践和经验。在介绍的过程中我会尽量不掺杂过多的业务细节,而专注于这背后我个人一些浅薄的设计思想,希望你在阅读完这些文章以后能够直接或者间接地拓展到不同的场景。

上一篇文章介绍了如何定义 schema、查询 API 以及怎样实现倒排索引,本篇将会着重介绍另一种重要的索引类型「正排索引」,以及跟正排索引密切相关的「二级索引」。

如何设计与实现一个分布式索引框架(二):Schema、API 及倒排索引

这是一个系列文章,大部分内容都来自我过去在小红书发现 Feed 团队工作期间的实践和经验。在介绍的过程中我会尽量不掺杂过多的业务细节,而专注于这背后我个人一些浅薄的设计思想,希望你在阅读完这些文章以后能够直接或者间接地拓展到不同的场景。

上一篇文章中简单介绍了什么是推荐系统以及实现一个推荐系统的核心组件有哪些,文章最后引入了一个非常重要的概念「索引」,本篇将会首先从框架使用者的角度介绍如何定义索引,框架有哪些 API 可以使用以及从设计者的角度介绍如何实现一个简单的倒排索引。

如何设计与实现一个分布式索引框架(一):概览

这是一个系列文章,大部分内容都来自我过去在小红书发现 Feed 团队工作期间的实践和经验。在介绍的过程中我会尽量不掺杂过多的业务细节1,而专注于这背后我个人一些浅薄的设计思想,希望你在阅读完这些文章以后能够直接或者间接地拓展到不同的场景。

在介绍什么是索引框架之前先了解一下我们当时面临的业务场景2,业界现在的 feed 流产品已经逐步从非个性化全面过渡到个性化,所谓的个性化 feed 其实就是基于机器学习的推荐系统

A Little Throught About Microservices

知乎在 4 年前已经开始尝试服务化,至今也经历了好几个架构的变迁演化。我大约是 2013 年开始在知乎负责服务化的工作,对服务化的理解也从最初的模糊逐渐变得清晰,前段时间看了一篇叫做 Microservices – Not A Free Lunch! 的文章,也想趁着这个机会梳理总结目前为止我的一些感悟和想法。

香港帆船培训记录

曾经对香港的印象就是便宜的苹果电脑和遍地的茶餐厅,竟忘记了这是一个靠海的岛屿。作为一个在西部长大的孩子,对于海总是有很多憧憬。从小到大见过很多地方的海,有浑浊的,有碧蓝的,有挤满游客的,也有波涛汹涌的。其实海不一定就是蓝色的,只是人们习惯性地把自己的愿望加诸在别的东西身上,所以如果某一天你见到了不是蓝色的海,请不要抱怨它。

Auto Open Browser After Copy URL

前段时间看过一篇叫 Automate Everyday Tasks 的博客,其中的一些见解很有意思,我们日常工作中有很多细小但是重复的事情,如果能够将某些工作自动完成,会让生活更加舒适。我很喜欢 Mac 上一个叫 PopClip 的小 app,可以大大减少很多重复的操作。这篇博客就是介绍如何制作一个 app,当复制 URL 时自动在浏览器中打开。