根据上一篇文章,想继续做点东西,就重新更新了数据结构,做了一个小型的搜索引擎。
主要功能,给一个初始URL,以此URL向外发散,根据是否有关键字继续页面信息,并会计算页面的PR值(并未使用GOOGLE的pr算法,自己简单计算),最后输出含有关键字的页面(从大到小,关键字要手动指定)。
PS:因为网页太大了,可以指定搜N层,N层后停止。
存储页面URL用 字典树,有个关键字列表,根据列表中的信息搜索。
贴代码:呵呵
主类:定义基本信息和开始
字典树实现:
字典NODE:
搜索网页逻辑:
每一个关键字结构:每个关键字包含一个链表,每一项都是一个网页URL和对应此关键字出现的次数
关键字链表项:
URL对象: 存储字典树的叶子节点(从叶子节点回朔即可找到URL)
网页权值计算:方便替换新算法
完了,呵呵,注,现在关键字列表还没完成,只能放一个关键字,即如果放了很多关键字,只有第一个会起效,呵呵,因为最近在想关键字生成的问题,不能老是手动输入,太傻了,也跟张明哲,吴登容交流了下,也有一点想法,并且在做网站的时候,每个页面有个META DATA区,就是设置网页关键字的,方便搜索引擎的爬虫去找,呵呵,这一点先放下,先去看下LUCENE是怎么做的,呵呵