seo底层原理第2课:如果是你怎么设计搜索引擎

Posted seo优化教程老竹

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了seo底层原理第2课:如果是你怎么设计搜索引擎相关的知识,希望对你有一定的参考价值。

要设计一个系统,首先要设计数据结构,然后把数据结构封装到各个算法和类中,然后将各个类组合起来就完成了,所以设计搜索引擎是基于以下几个层次来的。


1、首先需要一个底层的数据层,用来存储倒排索引和正排索引,每个字段都会建立相应的倒排和正排索引,这一部分应该有一系列相关的模块来实现。

2、所有字段的倒排索引和正排索引合起来就是整个数据文件,然后需要一些模块来对这些东西进行管理。

3、使用了分段的方式管理文档的索引,每到一定的条件下将索引刷新到磁盘或者将索引合并起来。

4、需要一个引擎的东西来管理多个索引,引擎负责复杂的查询策略和排序策略,这个引擎是可以更换和修改了,只需要实现标准接口就行,也可以自己实现来替换默认的引擎达到更多的功能,甚至你能自己写一个引擎,实现SQL查询。

5、需要一个和外界交互的层,实现一个http服务器来和外部交互,交互的数据通过json来进行,这一层也可以重写成任何你需要的样子。


按照上面这些个模块,一个搜索引擎,在整体架构上大约分成以下几个层次


1、首先,最底层的是数据模块层,负责引擎内所有的数据描述,对于搜索引擎来说,数据分为倒排索引和正排索引。

2、在这一层之上是字段层,每一个字段对应了一个正排索引和一个倒排索引(可选),因为有些字段只需要展示出来而不需要进行搜索是不需要倒排的。

3、在字段层之前有个段的层来对这些字段进行管理,段有的在内存中,有的刷新到磁盘上了。

4、段层之上就是索引模块层了,这一层对上提供一些基本的增加,删除,修改,查找的接口。

5、索引模块层之上是引擎层,这一层实现具体的业务查找逻辑。

6、最上面是一个网络层,负责和外界进行交互。

整个代码框架图

以上是关于seo底层原理第2课:如果是你怎么设计搜索引擎的主要内容,如果未能解决你的问题,请参考以下文章

凯恩杂谈SEO:了解搜索引擎工作原理(少走弯路事半功倍)

低价SEO基础课程——读懂搜索引擎的工作原理

请大家推荐一个seo知识博客!

SEO优化视频搜索引擎优化教程零基础到高级

seo搜索引擎原理介绍,适合小白新手

WEB前端-搜索引擎工作原理与SEO优化