ISSN 1009-3044
Computer Knowledge And Technology
Computer Knowledge And Technology
Vol.4,No.2,October 2008, pp.350-352
电脑知识与技术
电脑知识与技术
2008 年第 4 卷第 2 期(总第 29 期)
E-mail: info@cccc.net.cn
http://www.dnzs.net.cn
Tel:+86-551-5690963 5690964
基于
Heritrix
郑如滨 1,撒力 1,谢婷 2
与
Lucene
的垂直搜索引擎研究
集美大学 计算机工程学院
福建 厦门
集美大学 诚毅学院
福建 厦门
,
361021;2.
(1.
摘要:垂直搜索是针对某一个行业的专业搜索引擎 ,是搜索引擎的细分和延伸 ,是对网页库中的某类专门的信息进行一次整合 ,定
向分字段抽取出需要的数据进行处理后再以某种形式返回给用户。 该文结合使用 Heritrix 与 Lucene 对学校新闻网站网页进行抓取
并建立索引,建立相对应的新闻垂直搜索引擎系统。
关键词:垂直搜索;Heritrix;Lucene;中文分词;搜索引擎
中图分类号:TP311
文章编号:1009-3044(2008)29-0350-03
文献标识码:A
361021)
,
Research on the Vertical Search Engine Based on Heritrix and Lucene
ZHENG Ru-bin1, SA Li1, XIE Ting2
(1.Computer Science & Engineering College,Jimei University,Xiamen 361021,China;2.Chengyi College,Jimei University,Xiamen 361021,
China)
Abstract: Vertical search engine focuses on some special fields. It’s an extension and subdivision of search engine. It can integrate and ex-
tract the user-preferred information resided in the collection of web pages and return the more readable search results to the users. This pa-
per constructs a news vertical search engine system which adopts the Heritrix and Lucene.
Key words: vertical search engine; heritrix; lucene; Chinese word segmentation; search engine
1 引言
随着互联网的迅猛发展
各式各样的网站数量急剧增加
互联网上的信息的也呈指数级增长
其所呈现给用户的检索结果是非结构化的网页信息摘要
,Yahoo、Google、Baidu
在这样的背景下
,
。
,
为特定用户提供一种专业
等公司逐渐加入搜索引擎市场
。
这种非结构化的网页信息信息量大
,
如何使用户迅速地从互联网上查
而传统的搜
但查询不准
深入的检索与呈
垂
,
的房
使用户可以充分享受垂直搜索引擎技术所带
相较通用搜索引擎的无序化搜索结果
的火车票搜索
(soufun.com)
(kooxoo.com)
精确
搜房
、
、
,
,
是针对某一个领域的信息
限定范围的
具有一定的行业色彩
,
、
,
常见的垂直搜索引擎有酷讯
构建一个新闻垂直搜索引擎系统
,
,
,
。
。
、
。
垂直搜索引擎
深度不够
(Vertical Search Engine)
它所呈现给用户的搜索结果的范围是经过筛选的
找到自己所需要的信息成为了一个研究的热点
索引擎是通用搜索引擎
确
现
直搜索引擎可以给用户以更准确的
屋搜索
。
来的好处
2 垂直搜索引擎关键技术
本文主要讨论如何利用
。
Lucene
结构化的结果
Heritrix
与
。
、
,
网页信息抽取
建 立 与 搜 索 索 引
(Web Information Retrieval)、
(Chinese word segmentation)、
垂 直 搜 索 引 擎 系 统主 要 是 由 以 下 几 项 技 术 构 成
网 页 爬 虫
中文分
网 页 爬
沿着页面中所包含的链接不断的将网
可以确定所需
最
就
(Web Crawler)、
词
虫通过指定的种子
页抓取下来
要抽取的结构化信息
后对这些已经格式化的信息
可以通过快速检索索引找到关键词所对应的结构化信息
2.1 网络爬虫
然后将网页内容解析成格式化的信息
对抓取下来的网页的内容进行分析
通过中文分词建立索引
。
搜索时
,
见图
(Seeds),
(Index)。
。
。
。
,
,
,
1。
图 1 垂直搜索引擎运作流程图
网络爬虫也被称为网络蜘蛛
(Spider)
作为种子
,
URL
或者是网络机器人
不断的抓取页面中符合条件的新的
,
它是一个自动抓取网页的程序
所指向的页面
,
是搜索引擎的重要组成部分
。
当满足一定停止条件时
URL
。
网络爬
网络爬
,
常见的网络爬虫有
与
由法国的年轻人
Larbin
Heritrix。 Larbin
我们的系统中使用的则是
。
开发者可以扩展它的各个组件
Heritrix
爬虫
它是一个由
来实现自己的抓取逻辑
。
Sébastien Ailleret
开发的
Java
。
独立开发
开源的
,
、
Web
一个简单的
网络爬虫项目
larbin
。
的爬虫可以每天抓
其最出色之处在于
虫将一个或者若干个初始
虫终止运行
。
500
万的网页
取
它的可扩展性
2.2 网页信息抽取
,
,
。
网络爬虫所抓取的内容是无结构化的网页
构建垂直搜索引擎
成结构化的数据
这是垂直搜索引擎与通用搜索引擎的一大差别
。
。
需要将网页中的非结构化的数据按照一定的需求抽取出来
形
,
,
系统结合正则表达式和
将网页解析为格式化的文本
HTMLParser
一般的网页文件是由元素组成
。
(element)。
绝大多数元素是以
收稿日期:2008-07-04
基金项目:集美大学科研基金资助
作者简介:郑如滨,男,助教,硕士;撒力,男,讲师,博士。
350
网络通讯及安全
本栏目责任编辑
冯蕾
:
郑如滨 等:基于 Heritrix 与 Lucene 的垂直搜索引擎研究
一个结尾标记结束
如
。
,
起始标记和结尾标记之间的部分是元素体
他们之间的部分是
是起始与结尾标记
,
结合上面所描述的网页文件的特征
我们可以利用正则表达式提取
,
通用性不强
文本
我们结合使用正则表达式与
所以我们结合
解析文本的最好方法就是结合正则表达式与
来提取网页信息
HTMLParser
,
。
HTML
。 HTMLParser
HTMLParser。
每一个元素都有名称和一些可选的属性
元素体
。
HTML
文本
是一个开源的
这些
而正则表达式是功能强大的文本
需要
支持线形
它提供接口
但仅仅使用正则表达式提取文本
库
,
。
。
,
Java
,
,
HTMLParser
从网页中抽取需要的信息
并形成结构化的文本
以供后续处理
,
。
,
一个起始标记开始
,
都在起始标记内表明
分析工具
考虑很多细节
和嵌套的解析
,
HTML
按照用户的需求
,
,
2.3 中文分词与全文索引
对于结构化的文本
,
可以使用
建立索引以供快速查找
是一个用
写的全文索引引擎工具包
Lucene
。 Lucene
Java
检索功能
它使用一种倒排的技术
倒排是一种面向单词的索引机制
对索引中的每个词
都跟随一个列表
位置表
用来记录单词在所有文档中出现的位置
。
,
,
(
)
它可以方便的
,
关
通常它由词
当搜索索引
(
,
。
通过关键词就可以迅速找到该关键词在所有文章中出现的位置
嵌入到各种应用中实现针对应用的全文索引
键字
)
的时候
和出现情况两部分组成
。
/
,
倒排技术的一个关键之处在于确定关键词
这就导致了
常见的分词有中科院的
并不能很好的支持中文分词
理中文网页
统中我们采用了
3 新闻垂直搜索引擎系统的设计
分词来进行中文分词
JE
,
。
。
,
Lucene
Lucene
本身
然而
并不能很好的处
系
分词
分词与
JE
。
ICTCLAS
学 校 新 闻 搜 索引 擎 系 统 是 一 个 针 对 学 校 新 闻 网 站 的 新 闻 进
信息抽取与结
后 台 存 储 模 块 与 信 息 展 示 模 块 构
该系统主要由网页抓取模块
分 词 建 立 索 引 模 块
。
、
、
行垂直搜索的系统
构 化 模 块
成
见图
3.1 网页抓取模块
、
2。
。
,
这部分主要采用
网 页 抓 取 模 块负 责 从 学 校 的 新 闻 网 站 抓 取 符 合 条 件 的 新 闻
我们需要给出
必须可以使
,
我们采用新闻
。
不漏掉新闻中心中的所有新闻
Heritrix
作为
在该模块中
种子的选择
。
种子
经分析
Heritrix
实现
URL
,
。
,
页面
页面抓取的起始
得
Heritrix
中心页面
页 面
URL
,
链接
Schedular
来达到要求
。
Heritrix,
部分代码如下
:
URL
if (url.indexOf("chengyi.jmu.edu.cn/news/")! = -1
|| url.indexOf("dns:") ! = -1 )
代码中
够得以保存
,chengyi.jmu.edu.cn/news/
。
为新闻信息页面的
最后符合条件的相关新闻网页抓取下来
。
。
图 2 校园新闻垂直搜索引擎系统
因 此 我 们 需 要 扩 展
http://chengyi.jmu.edu.cn/news/index.asp?typeid=21。
加 入 一 种
选 择 策 略 把 不 需 要 的
URL
过 滤 掉
但使用该
作为起始种子总是会保存大量与新闻无关的
URL
这 里 我 们 可 以 扩 展
中 的
Heritrix
Frontier-
。
|| url.indexOf("robots.txt")
getController().getFrontier().schedule(caUri);
! = -1
的前缀
因此
肯定需要让其通过约束
URL
,
,
以使得新闻的详细信息页面能
,
块
。
包含一些特殊名词
准确
。
。
在建立索引方面
,
3.2 信息抽取与结构化模块
该模块是区别于垂直搜索与通用搜索的一个重要模块
,
地址
、
一个新闻页面应包含几个字段
原网页的
URL
:
我们设计新闻信息抽取类
该类继承自
中的基类
按照上面分析的几个字段抽取出来
HTMLParser
其主要负责对抓取下来的网页中的所需要的数据进行抽取与结构化
。
新闻的正文内
新闻的标题
通过结合正则表达
新闻的发布日期
、
实现了其
新闻的出处
新闻的作者
方法
、
、
、
Extractor,
并存储在各个不同的文本文件中
,
extract
,
以供后续处理
,
。
最终将网页中的新闻信息
ExtractorNews,
,
,
经分析
容
。
式与
3.3 分词建立索引模块
HTMLParser
该模块负责对生成的文本文件进行中文分词并建立索引
这部分主要采用
。
JE
分词作为种分词组件
,Lucene
作为全文索引模
这个部分首先要添加一些专用词库
本身已经有一个标准词库
我们可以根据学院的具体情况
创建一个包含学校学院名称
。 JE
,
,
但由于名字及一些专有名词的特殊性
在校人员姓名这样的词库
这个标准词库可能不
,
可以使得分词更精确
、
,
、
因为考虑到搜索的时候可能需要对多个不同的部分进行搜索
如对作者姓名搜索
如对作者的姓名
,
中的
使用
Lucene
,
,
直接采用
中的
Lucene
PerFieldAnlyzerWrapper
、
对正文内容搜索
那么我
而
来对文档中的多个部分结
StandardAnalyzer
分析器
,
,
们应该对不同的部分使用不同的分析器才能达到更好的效果
。
最后
对正文内容则应该采用
合使用不同的分析器
3.4 后台存储模块
的中文分析器
(MMAnalyzer)。
JE
。
该模块负责将格式化后的新闻文本文件存储起来到后台的
闻内容的各部分建立索引
3.5 信息展示模块
。
SQL server
数据库中
,
并在存储的同时调用分词建立索引模块对新
信息展示模块主要是使用
搭建一个
平台
给用户提供搜索界面
同时使用用户所提交的关键词调用搜索服务
,
文章标题与文章正文内容三个部分得索引
Tomcat
Web
并将所对应的结果返回给用户
,
搜索界面如图
所示
。
3
。
,
同
,
时搜索文章作者
、
本栏目责任编辑
冯蕾
:
网络通讯及安全
351
Computer Knowledge And Technology
电脑知识与技术
2008 年第 4 卷第 2 期(总第 29 期)
4 结束语
垂直搜索引擎给市未来搜索引擎技术发展的一个重
更有效
构建了一个针对学
为用户提供了更好的
其给用户带来的将是更准确
可以预见
本文通过
Lucene
。
。
、
与
,
Heritrix
要方向
的信息
校新闻网站的一个垂直搜索引擎
搜索新闻的体验
参考文献:
[1]
邱哲
。
,
符滔滔
北京
开发自己的搜索引擎
人民邮电出版社
,
—Lucene 2.0+Her-
itrix[M].
.
:
,2007.
中 文 版
[2] Gospodnetic O,Hatcher E.Lucene IN ACTION
北京
电子工业出版社
[M].
:
,2007.
[3] Heritrix for the Web Lab: a Tutorial[EB/OL].http://weblab.
tc.cornell.edu/tools_amazon/heritrixweblab_docs.aspx.
什 么 是 垂 直 搜 索
?[EB/OL].http://www.fullsearcher.com/
图 3 搜索界面
n20051112144420735.asp.
走进搜索引擎
搜索引擎原理
实践与应用
北京
:
[M].
、
电子工业出版社
北京
:
[M].
,2007.
电子工业出版社
,2007.
[4]
[5]
[6]
(上接第 349 页)
3.3 漏洞攻击防御功能
采用内存块随机化技术
范已知以及未知的缓冲区溢出等漏洞技术
3.4 全面的自我保护模块
。
、SEH
链防覆盖技术
堆栈检查等防
、
再好的安全系统如果自身保护不强劲也是如同虚设
新式防火墙采用各种系统内核技术以及
被终止进程
恢复
自杀技术
、Inline Hook、
除
之间通信劫持等攻击
与
、Ring0
。
防止程序自身出现缓冲区溢出漏洞等
验
,
木 马 技 术 和 防 火 墙 技 术
、APC
Ring3
DES/RSA
、SSDT
。
。
加密技术
所以此
防止
过滤驱动摘
另外编码时做好安全检
,
,
这 对 信 息 安 全 领 域 的 矛 与 盾
其 发
木马技术从最早的简单的帐号密码的窃取和
再到
实现远程嵌入
,
防火墙技术也从原来简单的特
;
都获得了
到利用内核插入式嵌入技术
技术
再到现在的主动防御技术
到端口检测技术
层通信及
线程
DLL
,
。
,
rookit
,
,
而其二者的发展
都是向着涵盖技术层面越来越广泛
,
展也是相辅相成的
发送
,
现在的
征码技术
,
长足的发展
向
NDIS
。
。
随着
0day
图 1
技术细节越来越接近计算机系统的底层通信
协议
、
、
驱动的方
,
,
攻击在隐形信息战以及商业情报的广泛应用
融入社会工程学的基于邮件木马网页木马的广义钓鱼攻击
基于邮件
Word、PPT、WinRar、IE
的溢出漏洞等入侵手段都使得传统的硬件防火墙
以及
所以在黑客成功入侵进入目标机器后怎样阻止黑客向外传送数据
敏感资料被盗就成了基于主机的安全系统的优势和关键
信息安全产品
参考文献:
[1] Обход Outpost Firewall 3.x и 4.0 в Kernel mode[EB/OL].http://www.wasm.ru/article.php?article=outpostk.
[2] Steven R Snapp,James B,Gihan V Dias et al.DIDS (Distributed Intrusion Detection System) Motivation,Architecture,and an Early Proto-
。
阻断木马后门防止信息泄密
因而研究能对付这类新型攻击以及其他各种日益流行的新式安全威胁的
对国家整个信息安全体系以及信息战都有着很积极重要的意义
入侵检测系统和杀毒软件都无能为力
以及怎样阻断其对外通信的信道
软件防火墙
,
。
。
、
、
,
,
,
type[C]. Proceedings of the 14th National Computer Security Conference,Washington,DC,1991:167-176.
352
网络通讯及安全
本栏目责任编辑
冯蕾
: