2024年3月24日发(作者:)
维普资讯
《农业网络信 g)2oo8年第4期 研究与开发
基于Lucene和Nutch的林业垂直搜索引擎
的研建
申晋
(北京林业大学信息学院,北京100083)
摘 要:本文描述了一个基于Lucene和Nutch实现的林业垂直搜索引擎,给出了系统框架,其可以为林业用户提供专业的
资源检索服务。
关键词:Lucene;Nutch;搜索引擎;垂直搜索
中图分类号:¥126 文献标识码:B 文章编码:1672-6251(2008)04-0016—03
Study and implementation of forest vertical search engine based on lucene and nutch
SHEN Jin
(College of Information,Beijing Forestry University,Beijing 100083,China)
Abstract:This paper describes the implementation of forestry vertical search engine based on Lucene and Nutch,and gives the
system architecture,which can provide professional resources search service for forestry users.
Key words:Lucene;Nutch;Search engine;Vertical search’
1前言
近些年.随着因特网的不断发展,为广大农林用
户提供服务的网站日趋丰富,但这些网站所提供的信
息相对独立、内容也较为分散,这就使得农林用户很
难及时有效的获得较为全面的相关知识。Google、百
(1)派出网页搜索工具Robot(机器人)或叫做
Spider f网络爬虫1在Internet上搜索信息,并把它们
带回搜索引擎;
(2)把信息进行分类索引,建立网页索引数据
库;
度等综合性搜索引擎虽然强大,但是使用它们来搜索
像林业这样特定专业的信息时,往往显得力不从心。
本文从林业应用的需求考虑,探索一个利用
(3)通过Web服务器端软件,为用户提供浏览器
界面下的信息查询。
目前,常见的综合型搜索引擎由于其涉及领域太
广,在某些特定领域的查询上则显得不够深入和专
业化lll。针对这种状况,出现了专门针对某一专题的主
题型搜索引擎,也叫垂直搜索引擎,其可以在某些小
范围的领域取得比综合型搜索引擎更满意的结果,满
足了某些特定用户的搜索需求。垂直搜索引擎提供的
资源都是与某个领域或主题相关的,与综合型搜索引
擎相比,在服务上更有专业特色,有一定程度的个性
化,因此它比通用的综合型搜索引擎将更加有效和准
确。
Lucene和Nutch的搜索技术建立林业知识垂直搜索引
擎,帮助广大农林用户及时获取林业相关知识。
2相关技术介绍
2.1综合搜索引擎和垂直搜索引擎
搜索引擎就是指在互联网上能够响应用户提交的
搜索请求,返回相应查询结果的技术和系统。搜索引
擎以一定的策略在互联网上搜集、发现信息,对信息
进行理解、提取、组织和处理,并为用户提供检索服
务,从而起到信息导航的目的。搜索引擎提供的导航
服务已经成为互联网上非常重要的网络服务,成为互
联网一项最基本的功能。
搜索引擎的工作原理基本分为三个步骤:
收稿日期:2008—01—22
垂直搜索引擎与综合搜索引擎存在着很大的差别:
(1)服务目的不同。综合搜索引擎面向任意用
户,提供对任意信息的查询,而垂直搜索引擎则面向
作者简介:申晋(1983一),男,硕士研究生,研究方向:森林经理学。
维普资讯
《农业网络信,g}2oo8年第4期 研究与开发
专业用户,向他们提供对其所在专业的信息检索。 URL放入队列中,直到满足队列预设长度停止;其
次.对上述抓取的信息进行相关性处理,去除信息中
与林业资源无关的内容,并对处理后的信息进行统一
编码:最后将关联信息保存至索引数据库。至此,当
用户向搜索引擎发出查询请求时,资源检索程序就可
以从林业资源索引数据库中迅速查找出与之相匹配的
资源信息及其URL,用户便可根据需要到互联网上找
到所需信息。
具体流程如图1所示。
(2)搜索方式不同。综合搜索引擎对网络进行逐
页的爬行.试图遍历整个互联网。而垂直搜索引擎则
采用一定的策略预测相关网页的位置,动态的调整网
页爬行方向,使系统尽可能的在与主题相关的网页集
中的地方爬行,这节约了大量的网络资源。
(3)对硬件和网络的要求不同。综合搜索引擎需
求过大,而垂直搜索引擎由于没有遍历整个Web,节
约了大量的网络资源,并且不需要自己的大型索引数
据库,所以硬件需求也比较低。
2.2 Lucene
Lucene是一个高性能的、可升级的信息检索类
库翻。它用Java实现,是一个成熟免费的、开放源代码
的工具包.可以使用它方便地实现全文检索功能。许
多Java项目都使用Lucene作为其后台的全文索引引
擎。在搜索过程中,关键步骤是Lucene对搜索内容的
关键字建立索引。Lucene是基于关键词搜索的,首先
要取得数据源的关键词,分词器是完成这个过程的封
装.经过分词器的处理后得到关键词;Lucene中关键
字按字符顺序排列,倒排索引生成索引文件,搜索时
用二元搜索算法快速定位关键词,找到相匹配的关键
字.查出相对应的文章位置,实现检索。
2.3 Nutch
图1林业资源垂直搜索引擎流程图
如图1所示,林业资源垂直搜索引擎的工作分为
以下五个步骤来完成:
(1)网络爬虫 Nutch是一个开源的、可扩展的Web网络爬虫,
用户可以使用它从网络上抓取想要的资源回。Nutch通
过深度遍历网站的资源,将这些资源抓取到本地,分
析网站内每一个有效的URI,并提交H町P请求,从
而获得相应结果。生成本地文件及相应的日志信息
等。Nutch是基于Lucene的,Lucene为Nutch提供了
通过前期相关配置,可以设定搜索目标为林业资
源相关的特定网站,如:中国林业信息网(http:,/
www.1knet.ac.c ̄ome.htm)、中国经济林信息网(http:N
www.eric.gov.cn)等.这样基于Nutch构建的网络爬虫
可以实现抓取特定范围内的与林业资源相关的信息,
且只获取并保存可索引的内容,并将内容保存为数据
库优化格式便于以后索引,同时刷新、替换旧的内
容。
文本索引和搜索的API。Nutch只获取并保存可索引
的内容,所以效率很高;还可以修剪内容或者对内容
格式进行转换。Nutch保存的内容为数据库优化格式,
这样便于以后索引,还可以刷新、替换旧的内容。
林业搜索引擎使用了分布式网络爬虫朗,其结构拥
有多个单独的网络爬虫,中心搜索引擎将这些分布在
不同机器上的单个网络爬虫搜索的结果进行整合,最
终得到完整的结果,这样大大增强了处理的并发性。
(2)文件处理
爬虫程序从互联网上获取文件格式不尽相同,
如:网页文件、文本文件、Word文档、PDF文档等
等。因此,需要对网络爬虫获取的内容进行相关性处
3 实现方法
作为一个专门服务于林业的专业化网络搜索引
擎,关键是要建构一个具有林业专业特色的资源索引
数据库,因此就必须对检索范围加以严格限制,使其
只包含林业资源及其相关内容。因此,其也在一定程
度上克服了传统综合搜索引擎信息检索准确率较低的
问题。
林业资源垂直搜索引擎的主要工作步骤嘲:首先,
网络爬虫根据预先设定的配置到互联网上抓取与林业
理,去除内容中与林业资源无关的部分。具体处理过
程如下:
资源相关的信息及其URL,并不断从新的页面获取
首先,对已抓取的内容进行初次过滤,去除网页
维普资讯
《农业网络信 g}2oo8年第4期 研究与开发
中包含的JavaScript语句、HTML文档中的标签及其它 支持”拆分为“林业fS1)”和“决策支持(S2)”,系
无关内容;其次,根据预先设定的与林业相关的特征
词库对上述内容进行再次过滤,去除内容中与林业资
统继续匹配检索词S1和S2,直到找到完全匹配的结
果。采用这种方法,系统可以很大程度上提高检索的
准确性。
对于检索可进行如下初始化设定:检索结果每页
源无关的信息;最后,对已处理后的信息进行统一的
编码。文件信息处理对该林业资源垂直搜索引擎来说
是至关重要的,信息处理的优劣程度直接决定着该搜
索引擎后续搜索效率的高低。
(3)分词处理和生成索引
可显示20条记录,显示顺序按照查找匹配的优劣程
度依次排序,一般来说与预检索词完全匹配的优先级
要高于与拆分后检索词的完全匹配。当用户输入搜索
条件后,系统会自动动态显示存在的前200条查询结
果,通常情况下绝大部分用户不会对l0页f每页20
众所周知,英文是以词为单位的,词与词之间通
过空格隔开,而中文是以字为单位的,句子中所有的
字连接起来才能描述一个意思,因此对于中文用户来
条记录1之后的搜索结果进行查询。结果页面显示网
页标题、内容摘要、网页URL、网页缓存链接。
为了增强可靠性.系统为每一个分布式节点建立
说,Lucene提供的两个正向最大匹配法的中文分词器
(CJKAnalyzer和ChineseAnalyzer)功能相对较弱,为了
实现更高精度的中文分词,该系统采用了逆向最大匹
了相应冗余同。首先,为相对关键的节点建立冗余,这
样可以提高局部的应用性。其次,当某节点发生故障
或不能够再提供相应服务时,系统则可以直接操作冗
余节点上的相关内容.这样又进一步增加了系统的有
效性。
配法[sl。系统利用Lucene的IndexFiles建立倒排索引,
最终将关联信息保存至索引数据库。至此,林业资源
搜索引擎索引数据库就创建完成。
(4)生成摘要
通过设定,系统可以自动提取搜索的相关内容生
成摘要。首先,建立林业特征词库,其主要指与林业
相关的各种关键词汇,如:林业、森林资源、林业决
策支持等;当然也可以根据不同需求设定其它与林业
相关的关键词,如:天然林保护、速生丰产林、小
4搜索结果分析
本搜索系统使用Java语言开发,采取Lucene格
式的本地文件作为索引文件,以JSP页面为查询检索
界面,并在Linux环境下通过Tomcat进行发布。经测
试,文件处理器在处理网页文件时,处理5 000个文
档平均时间在4~5分钟。而在10 000个文档中执行检
索时,平均响应时间为0.4秒,基本可以满足用户的
需求。
班、坡度、坡位、郁闭度等;其次,根据不同需求为
上述林业特征词汇赋予不同的权值,一般来说关键词
权值的高低直接决定最终的搜索结果;最后.系统会
自动根据这些关键词在内容中出现的位置、频率等因
素,通过加权来最终确定摘要的内容。
为了检验该林业资源垂直搜索系统综合搜索信息
的准确性,进行了如下测试:
(5)信息检索
系统使用以Lucene为基础的全文检索方式,但是
进一步改进了对检索词完全匹配的解析和查询,采用
了首字匹配算法[61。首先,在索引库中查找与用户输入
的预检索词首个汉字相匹配的索引;其次.根据预检
索词的长度截取出与该首个汉字后面相应长度的索引
组合;然后,利用循环语句将检索词和提取出的字段
逐字依次进行比较,如果全部相同则获取一个完全匹
配的结果;当没有完全匹配的结果时,则需要将上述
(1)目标网站的设定。这里选取了三个主要的综
合性的林业信息网站,如:中国林业信息网(http://
www.1knet.as.cn/home.htm)、中国国家林业局森林病虫
害中心处理系统(http'.//slbch.org/project/homeindex.
htm)、国家林业局(http://www.forestry.gov.cn)等。
(2)关键词库的设置。为了仅抓取与林业、林业
资源、林业决策支持等有关信息,这里对关键词库及
其优先级进行了重新设定,在原有词库的基础上,将
林业、林业资源、决策支持、病害、虫害、营林模
预检索词进行拆分,同样采用首字匹配算法对拆分后
的预检索词进行逐一匹配,直到找到完全匹配的结
果。
式、造林模式、专家等林业相关词汇的权重有所提
高。输入“林业病虫害防治”检索条件时,共查找到
与其相关的信息48条,其中前8条较为准确的匹配
当用户输入的预检索词为“林业决策支持”时,
系统会自动到索引库中检索匹配与林业决策支持相同
的字段,如果匹配结果为0,则将检索词“林业决策
到与林业病虫害防治相关的内容。可以说该林业垂直
搜索系统大大排除了通用搜索引擎搜索结果中与林业
(下转第26页)
维普资讯
《农业网络信 J ̄,}2008年第4期 研究与开发
理水平,为亚盛集团公司啤酒花实现品种多元化和参
与国际竞争、占领啤酒花产品的国际市场奠定了坚实
的基础。
[2] 陆惠恩,陆培恩.软件工程[M].北京:电子工业出版社,
1997.16~17.
[3]何军,曲炜.PowerBuilder7.0原理与应用指南[M].北京:电
子工业出版社.2000.24~30.
通过科技成果的大面积的推广应用,带动周边农
民发展啤酒花13 000亩,平均亩产204.7 kg,总产
[4]刘增进.PowerBuilder7.0数据窗口技术详解[M].北京:电子
工业出版社.2000.17~18.
2 661.1吨。农民平均亩产值3 864.84元,总增收达
5 024.29万元。
[5]马晖.PowerBuilder7.0高级教程[M].北京:电子工业出版社,
2000.97~99.
7结论
啤酒花栽培与加工技术信息管理系统的成功研
制,为啤酒花领域专家或用户生成自己的信息系统提
供了有利的工具,减少了开发特定的信息系统所需要
的大量重复劳动。面向对象的开发方法和数据管理机
[6]赵文言,等.啤酒花优质高产栽培技术[J】.中国农村小康科
技,2001,(1):10-11.
[7]汤国锋.玉门地区目光温室啤酒花扦插育苗技术[J].甘肃
农业,2004,(1O):14 ̄15.
[8]韩靖国,等.啤酒花优质品种快速扩繁高技术产业化示范可
行性研究报告[R].兰州:甘肃亚盛集团,2004.27.
[9]张霞,等.新疆野生啤酒花DNA提取及RAPD反应体系的建
制加快了系统的开发进程,并增强了信息库的可扩充
性,扩大了系统的应用范围。不确定层次逐级检索功
能增强了信息检索的灵活性。该系统与啤酒花产业化
配套技术有机结合,社会、经济效益显著,加快农民
的致富步伐,加速社会主义新农村建设。
立,石河子大学学报(自然科学版),2005,(1):41 ̄42.
[10]Yumei Liu.Characterization ofthe Chinese SA-1 hop.Te chni—
cal Quarterly,21-23.
参考文献
[1]王瑞牙.啤酒花栽培与加工[M].南京:江苏科学技术出版社
1987.45~47.
[1 1]Krofta,K.;Nesvadba.Utilization of wild hops extention of ge—
netic sources for breeding.Rostlinna Vyroba.1 1.
(上接第18页)
资源无关的众多内容。
当然,作为林业行业的主题型搜索引擎该系统还
参考文献
[1]龙宇巍,王永成,许欢庆.中文元搜索引擎调研报告[EB/OL].
http://www.cnindex.fudan.edu.en/zgsy/2003n3/zhongwenyuan.
htm.2008—01—20
存在很多需要发展、完善的地方。目前本系统只实现
了对国内各林业资源信息网站的搜索功能.检索结果
的准确性也有待提高。因此,在今后的工作中还需要
进一步深入的研究与实践,争取向智能化、精确化,
以及向搜索交易平台等更多方向继续发展,更大程度
的提高该林业垂直搜索系统的性能。
[2]邱建雄.Hook技术及其在软件研发中的应用[J].国防科技
大学学报,2002,24(1):77~80.
[3]杨晓江,李丽娟,田俊华,等.面向基础教育的Web资源垂直服
务体系研究[J1.数字校园,2006,f7):53—57.
[4]姜杰,杨晓汀.专业搜索引擎Robot的设计研究[D].南京:南
京师范大学.2005.
5 结束语
该林业资源垂直搜索引擎能够提供强大的林业资
源专业信息检索能力,有助于广大农林用户及时获取
[5]王晓龙,关毅,等.计算机自然语言处理fM].北京:清华大学
出版社.2005.
林业相关知识并为他们提供专业指导:也可以帮助木
材生产、加工企业及时获取相关供求信息;还可以为
林业专家和工作者在学习研究过程中获取所需要的专
[6] 张晓卫,朱巧明.一种基于Lueene的Web全文信息检索系统
的设计与实现[J].计算机与现代化,2006,f12):111~115.
[7] 肖诗源.一种基于Agent的分布式搜索引擎[J1_计算机工程,
2002,f7):47-48.
业信息


发布评论