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. 

业信息