APP下载

基于python技术面向校园网原型搜索引擎设计

2017-06-06焦萍萍

电脑知识与技术 2017年9期
关键词:设计

焦萍萍

摘要:随着学校数字化建设的加快,校园的各种信息也不断增加,对信息进行查找和定位也逐渐变得的困难。大多学校还是使用一般搜索引擎進行站内信息的搜索,利用这样的搜索引擎一般不能及时地得到新消息。而且如果一些学校使用的二级域名或是用,P地址直接作为网站,那么很难被通用的搜索引擎给搜索到。所以本文将基于Python技术对校园的搜索引擎进行分析,提供一些设计方案仅供参考。

关键词:校园搜索引擎;python技术;设计

当今时代是一个信息化的社会,人们通过互联网可以看到各种信息,随着互联网的普遍使用,网络信息也不断地增长。想要提高信息搜索的效率,主要的就是对搜索引擎进行改进。而随着校园的信息化建设,建立一个高效搜索引擎变得非常重要。所以,本文将结合python语言对搜索引擎的设计进行分析,探讨一下该语言在校园网中的建设。

1.搜索引擎建立的流程分析

1.1框架的分析

建立校园搜索引擎首先就是要进行设计流程的分析;其次就是分析Python语言中Scrapy相关的开源爬虫结构设计,其中在Scrapy爬虫框架中有关URL的去重功能的分析;再则就是基于Python语言中关于Whoosh索引检索库的分析;最后就是对建立的系统进行测试。

根据多种的搜索引擎设计案例,总结出设计搜索引擎的基本流程:首先就是建立一个文件集合(collection),之后利用索引器(indexer)对这些文件进行索引建设。接着用户就可以进行关键词(query)的输入,这样系统就可以利用索引进行检索。而且索引模块可以对查询的结果进行分析排序,最后将搜索结果按照用户的要求进行排列呈现出来。在这之前要通过网络爬虫程序将这些集合文件下载好。因此,建立搜索引擎需要完成这几个模块:首先就是网络爬虫系统的建立,其次就是索引查询系统的建立,最后就是显示答案的模块。

1.2网络爬虫

在1993年,“互联网漫游者”诞生,它是世界上首个网路爬虫程序,也被称为是网络机器人。网络爬虫通过利用图论中的遍历算法对互联网中的大量信息进行下载,在建立搜索引擎时,是不可缺少图论的遍历算法的。该方法是将互联网比作一个大图,将每个网页作为一个点,通过每个网页中的超链接,就可以将它们相互连接起来了。

宽度优先搜索(BFS),也可以称为是广度的优先搜索,它也是属于通图中的一种遍历对策。首先建立一张图对该算法进行分析。如图1所示。

如果想要得到V0到V6之间最短的路径,那么就是分析与V0各个连接的节点,分别是V1、V2、V3,之后分析和三者相连的节点有:{V0、V4},{V0、V1、V6},{V0、V1、V5},将我们已经分析过的节点V1、V2、V3进行排除,那么就剩下V4、V6、V5,之后通过找出与V2的连接点V6,就可以得出一条路径:VO-V2-V6,然后再寻找V5的连接点,就可以得到另外一个路径:VO-V3-V5-V6,但是这条路径不是所要的最短路径。这些就是宽度搜索的基本逻辑,但是该访问方式比较消耗内存。

深度优先搜索(DFS)方式,它是和广度搜索相反,它是“一条道走到黑”的逻辑。详细来说就是当访问走到头,就去访问其他相邻的节点,假如有很多节点,那么访问左边的节点,直到没有别的节点,然后在进行其他节点的访问。这种搜索选择逻辑效率比较慢,但是它可以和广度有限搜索相结合,如此可以实现优势互补的效果。

非完全的PageRank逻辑选择:它是属于连接分析算法,主要是分析网页重要性的。所以,在进行网页优先等级选择时可以利用PageRank逻辑进行分析:将下载好的网页,和需要获取的网页组成一个集合,之后在利用PageRank逻辑进行计算。计算完之后,将获取的URL根据PageRank计算出的得分高低进行排列,然后爬虫就在这些排列中进行URL列表的搜索。

1.3搜索引擎的索引

索引的核心部分就是进行布尔集合运算,不管搜索引擎多么的智能,它的基础都是运用布尔运算。在布尔运算中主要使用0个1两个值,具有三种逻辑:OR、AND、NOT。

猜你喜欢

设计
二十四节气在平面广告设计中的应用
何为设计的守护之道?
基于PWM的伺服控制系统设计
基于89C52的32只三色LED摇摇棒设计
基于ICL8038的波形发生器仿真设计
瞒天过海——仿生设计萌到家
设计秀
有种设计叫而专
基于iOS的室内定位系统设计与实现
设计之味