搜索引擎优化书籍(非结构化就是的增量索引重建和权值计算(上))
优采云 发布时间: 2022-04-04 21:04搜索引擎优化书籍(非结构化就是的增量索引重建和权值计算(上))
初学者编写搜索引擎?勇气可嘉!
其实这要看你具体的目标需求是什么,是互联网上通用的搜索引擎服务,还是基于现有数据库的搜索引擎插件。两者涵盖的范围不同。
简单说一下搜索引擎的模块
第一部分是服务器端索引系统。
内容以块为单位进行分段和索引,并根据一定的算法给出权重进行查询排序。
这里又有结构化和非结构化。结构化意味着您的索引与固定结构相关。非结构化意味着无论出现在哪里,都一视同仁。
例如,如果您搜索小说,您可以选择搜索作者或内容。这是结构化,将作者与内容分开。如果它是非结构化的,它将在任何出现的地方进行搜索。
服务器端的索引系统通常是非实时的,完成所有内容的索引需要一定的时间。但是在很多情况下,需要追求索引效率,所以有一个计划将其分为两部分,一是整体索引重构和权重计算(权重计算)。一旦调整了值算法,或者添加了一些新数据,往往会影响全局权重计算。)一种是高效的增量索引,方便快速满足更新内容的查询请求。
第二部分是查询系统
即基于搜索词或搜索选项,通过索引库快速查询和排序,然后可能涉及到根据索引找到的一些数字调用一些源记录信息,排序后显示给用户。
这还涉及到缓存的使用、排序的逻辑和搜索请求的处理。
缓存是简化海量重复查询的系统压力,不再赘述。
排序的逻辑可能基于权重或用户选择(例如新闻搜索可以选择按时间排序)。
如果搜索请求是长字符串,可能需要分词,哪些是忽略词,哪些是核心词。等等
如果在现有数据库的基础上建立搜索系统,这两大部分基本就够了。
但是如果想追求更进一步的发力,可以考虑加一个数据统计分析后台,和权重系统结合,比如根据用户点击率调整权重,比如根据用户点击率优化权重算法点击排名分布。
如果你想从网上获取数据,那么你还需要一个爬虫系统,
选择一些典型的数据源,通过链接或其他方式遍历网页或数据,对数据进行预处理和存储。
如果数据量特别大,需要存储系统来支持。
最后,本书不做介绍,如果你只是想完成一些任务,可以考虑看看。也许你可以在不写任何东西的情况下完成它。