51Testing丛书连载:(五) 互联网单元测试及实践

发表于:2008-7-29 17:56

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:陈卫俊 赵璨 周磊等    来源:51Testing软件测试网

       6.1  初识Lucene
       前面的章节已经介绍了如何使用JUnit进行网站单元测试,本章将结合一个具体的项目给出一个较完整的网站单元测试方案。
互联网技术的广泛应用给整个社会带来了高度的信息化。大量的网站带来海量的信息,而信息的爆炸式的增长,让现代社会的人看到更广阔的世界。但是日益增长的数据也带来了另一个问题,即如何在海量数据中迅速找到自己想要的信息。搜索引擎的出现给这一问题的解决带来了转机。灵活、自由和即时查询的搜索技术广泛应用于各类网站,搜索功能已经成了现在互联网生活,尤其是大中型网站不可或缺的功能。
本章的范例项目就是一个开源搜索引擎的项目——Lucene。Lucene是一个用Java写的全文索引引擎工具包,它可以方便地嵌入到各种应用中实现针对应用的全文索引/检索功能。
       全文检索  指计算机索引程序通过扫描文章中的每一个词,对每一个词建立一个索引,指明该词在文章中出现的次数和位置,当用户查询时,检索程序就根据事先建立的索引进行查找,并将查找的结果反馈给用户的检索方式。这个过程类似于通过字典中的检索字表查字的过程。
Lucene的作者Doug Cutting是一位资深的全文索引/检索专家,曾经是V-Twin搜索引擎(Apple的Copland操作系统的成就之一)的主要开发者,后在Excite担任高级系统架构设计师,目前从事于一些Internet底层架构的研究。Lucene早先发布在Doug自己的网站上(www.lucene.com),后来发布在SourceForge,2001年年底成为Apache基金会jakarta的一个子项目:http://jakarta.apache.org/lucene/。已经有很多Java项目都使用了Lucene作为其后台的全文索引引擎,例如Jive、Eclipse帮助部分的全文索引等等。
       Lucene作为一个全文检索引擎,它的优点在于:
        索引文件格式独立于应用平台,能够兼容系统或者不同平台的应用。
        实现了倒排索引基础上的分块索引,能够建立小文件索引,提升索引速度,能够通过索引合并优化索引结构和检索效率。
        面向对象的系统架构,易于扩展。
        独立的文本分析接口,可以方便地自定义文本解析器。
        支持商业搜索引擎所能支持的各种形式的查询形式。
       Lucene自带了Demo应用,部署非常简单,当然事先需要事先安装JDK,其步骤如下。
       1.首先从http://lucene.apache.org/下载Lucene版本,本书采用的版本为2.3.1。
       2.将Lucene解压到指定目录。
       3.设置classpath,将lucene-core-2.3.1.jar和lucene-demos-2.3.1.jar放入环境变量。使用如下命令建立索引:
       java org.apache.lucene.demo.IndexHTML -create -index d:\opt\lucene\index . 
       4.配置Web应用。
       当然需要安装一个Web服务器,本项目用的是JBoss。在解压后的目录下有一个luceneweb.war,将这个war包复制到default/deploy目录后启动JBoss。
       5.访问http://localhost:8080/luceneweb,访问部署好后的应用环境。
       安装过程中碰到的具体问题以及其他Lucene的相关知识可以参考Lucene的相关文档,这里就不再做进一步说明。

连载一 连载二 连载三 连载四

本文选自:《51Testing软件测试作品系列》之三的互联网单元测试及实践 ,本站经电子工业出版社和作者的授权,近期将进行部分章节的连载,敬请期待!

版权声明:51Testing软件测试网及相关内容提供者拥有 51testing.com内容的全部版权,未经明确的书面许可,任何人或单位不得对本网站内容复制、转载或进行镜像。51testing软件测试网欢迎与业内同行进行有益的合作和交流,如果有任何有关内容方面的合作事宜,请联系我们

《2023软件测试行业现状调查报告》独家发布~

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计 发展历程

法律顾问:上海兰迪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2024
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号