七、性能测试:不重要,就是用一些代码进行了一些实际性能的测试。
大纲:
1. Google和百度的搜索速度
2. 性能测试的方案
3. 文档的预处理
4. 性能测试结果比较
1. 搜索的速度
1.1 Google和百度的搜索速度:自己到网上搜索尝试一下就知道了。
1.2 建立索引的速度:就是一些统计信息,不需要掌握。
2. 设定测试环境与测试方案
2.1 准备文档:在进行性能测试前,准备必要的文本资源是必不可少的。
** 说明:对于一个真正的Web搜索引擎来说,它的索引库中索引文件的由来是大量的网页资源,
而这些网页资源都是靠"网络爬虫"抓取而来的。
** 网络爬虫:指的是一种通过分析网页的URL地址抓取网页内容的软件。
目前比较流行的开源网络爬虫有Nutch、Heritrix等。
** 注意:对于网络爬虫如果有兴趣可以自己找资料学习。
2.2 硬件的准备:为了测试提供两台性能配置有点差距的两台计算机。
2.3 测试方案:
2.3.1 建立索引:为尚书准备的6307个文档建立索引,分析器采用StandardAnalyzer,统计建立索引的时间。
同时可以修改IndexWriter的性能参数感受相关参数对创建索引速度的影响。
2.3.2 关键字搜索:通过简单的关键字搜索,测试响应速度。
2.3.3 多线程搜索:测试多线程环境下Lucene的工作效率。
3. 为6000篇文档建立索引:
3.1 构建Document对象:这里创建了一个方法public static Document getDocument(File file);
这样通过这个方法就可以得到Document(其中将文件名、路径、内容、最后修改时间作为了字段)对象了。
方法内部使用了StringTokenizer类,这是一个Java提供的类,
可以查看JDK文档使用方法。
3.2 建立索引的代码:这里提供了一个类,可以自己查看《Lucene书籍》
3.3 开始建立索引:运行3.2中提供的类的main方法。
然后监控系统的任务管理器CPU占用资源实况和输出的创建索引用时,两台电脑进行对比。
3.4 调整性能参数建立索引:可以调整mergeFactor和maxMergeDocs等参数来查看索引的建立速度。
4. 搜索测试:
4.1 搜索关键字:使用了一段代码进行搜索。对比了两个电脑的速度。
4.2 多线程搜索的性能:只是一些简单的测试,可以从网上找些这方面代码。
大纲:
1. Google和百度的搜索速度
2. 性能测试的方案
3. 文档的预处理
4. 性能测试结果比较
1. 搜索的速度
1.1 Google和百度的搜索速度:自己到网上搜索尝试一下就知道了。
1.2 建立索引的速度:就是一些统计信息,不需要掌握。
2. 设定测试环境与测试方案
2.1 准备文档:在进行性能测试前,准备必要的文本资源是必不可少的。
** 说明:对于一个真正的Web搜索引擎来说,它的索引库中索引文件的由来是大量的网页资源,
而这些网页资源都是靠"网络爬虫"抓取而来的。
** 网络爬虫:指的是一种通过分析网页的URL地址抓取网页内容的软件。
目前比较流行的开源网络爬虫有Nutch、Heritrix等。
** 注意:对于网络爬虫如果有兴趣可以自己找资料学习。
2.2 硬件的准备:为了测试提供两台性能配置有点差距的两台计算机。
2.3 测试方案:
2.3.1 建立索引:为尚书准备的6307个文档建立索引,分析器采用StandardAnalyzer,统计建立索引的时间。
同时可以修改IndexWriter的性能参数感受相关参数对创建索引速度的影响。
2.3.2 关键字搜索:通过简单的关键字搜索,测试响应速度。
2.3.3 多线程搜索:测试多线程环境下Lucene的工作效率。
3. 为6000篇文档建立索引:
3.1 构建Document对象:这里创建了一个方法public static Document getDocument(File file);
这样通过这个方法就可以得到Document(其中将文件名、路径、内容、最后修改时间作为了字段)对象了。
方法内部使用了StringTokenizer类,这是一个Java提供的类,
可以查看JDK文档使用方法。
3.2 建立索引的代码:这里提供了一个类,可以自己查看《Lucene书籍》
3.3 开始建立索引:运行3.2中提供的类的main方法。
然后监控系统的任务管理器CPU占用资源实况和输出的创建索引用时,两台电脑进行对比。
3.4 调整性能参数建立索引:可以调整mergeFactor和maxMergeDocs等参数来查看索引的建立速度。
4. 搜索测试:
4.1 搜索关键字:使用了一段代码进行搜索。对比了两个电脑的速度。
4.2 多线程搜索的性能:只是一些简单的测试,可以从网上找些这方面代码。