我早年的乐趣之一,就是从某个微博ID,面试者的ID,陌生人的微信ID延伸,探索这个ID背后的人在互联网上散落出来的各种信息?俗称(人肉)

网络迷踪

去年看到这网络迷踪部片还真让我high了一下。
作为一名软件工程师,天生对信息尤为敏感。最早跟我妹子认识的时候。在她对我一无所知的情况下,我手里握着她的信息特别多。所谓知彼方能纵然全局!
信息检索大部分情况是容易断的,所谓温故而知新。电影里好几次的反转很形象的反映了、我好几次在无法继续下去的情况下 ,突然灵光一闪找到了另外的路径的激动感!

信息检索

大部分情况下,不论是各种工种,信息的检索能力决定了你在某个问题上能否快速站在前人的肩膀上~
搜索引擎作为检索互联网的入口,它索引了整个互联网信息世界,但其实大部分人都不太会用好搜索引擎。多少次见别人贴上一堆自然语言,如“怎么健康吃饭?” 其实这么一段话,完全可以分解成健康、吃饭这两个关键词 。

倒排索引

这样搜索引擎可以更好的理解你的检索需求,为什么?知道搜索引擎为什么这么快吗,这要说到一种叫倒排索引的技术。
举个栗子:
现在有100篇文章,我说我需要找其中包含 “健康” “吃饭”的所有文章,正常情况下你是把这100篇都检查一遍,最后得到了包含 “健康” “吃饭”的结果集(),如果再来一次查询,你得重复以上劳动N。。

这一次,是这样的,为了更好的优化查询效率,

每收录1本书,我会把这本书里的包含的词,全拿出来, 如 「健康」「 吃饭」 「我」,最后我把这些词写到本子上,每个词背后都加上这本书的书名,第二本重复以上动作。

现在检索需求来了:

我要找包含「健康」 「吃饭」的文章有哪些。

噼里啪啦:拿出记录的词本,

找到「健康」 这个词包含的文章 发现有(文章1 、文章4),

找到「吃饭」 这个词包含的文章,发现有(文章1 、文章6),

最后发现「文章1」是既包含「健康」又 包含「吃饭」。

然后我告诉你只有「文章1」复合你得检索需求。

以上就是倒排索引的精髓,通过预处理索引整个信息,来应对检索上的性能要求。

搜索引擎第一件事就是对你的搜索语句 进行分词处理,倘若你能直接告诉它你的关键词,它岂不是能更好的服务于你?

但有但时候我们可能也不希望搜索引擎对我对搜索词分词,如查找一个英文id(主流搜索引擎都支持加上双引号表示这个文本不希望被分词如 “怎么健康减肥”

信息过滤

或者我们只想查某种特定类型的网站,如豆瓣(这个时候只要加上 site:douban.com)

或特定的文件类型如pdf(filetype:pdf

不要问我为什么知道,请看搜索引擎的查询语句文档..

信息排序

有时候相关不一定有因果哈哈,大部分情况下信息匹配如果不是你的首要条件,排序的意义就产生了。
Google作为一个伟大的公司,page rank奠定了它就是在信息检索上最好的工具。page rank的原理类似论文直接的相互应用如果a论文,大家都引用高是不是意味这个内容在质量上好的概率要大一点?

写到这里,是不是在像在写搜索引擎科普文啊?大部分情况下对目的信息的检索都是这些小技巧的堆砌。

信息孤岛

互联网发展到现在已经是巨头林立,从淘宝不让被索引,微信公众号,更不用说很多短视频了,很多时候,这些地方都不是搜索引擎能触达的。
互联网从最早的去中心化到现在的高度中心化。什么时候还能再自由自在的检索任何一个地方的信息?

《百度已死》,移动端at两家产生的信息基本不可被索引,作为中国最大的搜索引擎,不知何时会崩塌。