成人一对一视频交友

实现一个功能齐全的搜索引擎有哪些技术环节?百度是怎么做到的?

elbert
elbert

如题,我一直对百度很感兴趣,百度是一种0.1秒搜索上亿结果的技术。问题只是拓宽我的知识面

1.对于一般的业务场景和最基本的搜索功能,直接使用sql的全文索引。比如你存储了1000万篇文章,按标题搜索,应该都是刚好可以用的,虽然你不知道搜索效果如何。

2.如果你想做一个数据规模比较大的搜索功能,比如有几十亿条数据的话,用上面的方法是不行的,所以你需要用到一些搜索引擎相关的技巧,这也是本文的主要问题。

之前查过一些搜索引擎相关的信息,业务端的一般逻辑应该分为三部分,一是分词和语义分析,二是回忆数据库中的数据,三是相关性排序。当然,如果有百度那么大,数据库本身肯定需要虚拟化来支持这么高的可用性,数据库相关的问题暂时不在今天讨论。

我搜的资料说,比如有一种常见的回忆方法叫倒排索引,我很好奇这是一种什么样的索引方法。因为正常情况下,比如你已经有100亿行了,然后你有30万客户经常用来搜索的关键词。在此基础上,你还要根据多对多关系建立一个指数(理论上这个指数应该大到爆炸,各种问题都会出现)。这是怎么回事?

elbert
品牌