网络信息检索与搜素引擎系统开发

上传人:飞*** 文档编号:6407044 上传时间:2017-09-11 格式:DOC 页数:7 大小:64.50KB
返回 下载 相关 举报
网络信息检索与搜素引擎系统开发_第1页
第1页 / 共7页
网络信息检索与搜素引擎系统开发_第2页
第2页 / 共7页
网络信息检索与搜素引擎系统开发_第3页
第3页 / 共7页
网络信息检索与搜素引擎系统开发_第4页
第4页 / 共7页
网络信息检索与搜素引擎系统开发_第5页
第5页 / 共7页
点击查看更多>>
资源描述

《网络信息检索与搜素引擎系统开发》由会员分享,可在线阅读,更多相关《网络信息检索与搜素引擎系统开发(7页珍藏版)》请在金锄头文库上搜索。

1、网络信息检索与搜素引擎系统开发考试参考资料 Brilliance搜索引擎:从互联网等信息源中以一定的策略采集所需信息,经加工处理(如对网页进行去重处理、抽取信息、索引、生成主题词标引、生成自动文摘、信息分类、对相似网页进行聚类等),将用户感兴趣的内容按照一定的规则排序后,以超链等形式提供给用户的系统。搜索引擎主要包括信息采集、信息加工、信息检索与检索结果提供这几个部分搜索引擎分类:目录索引式搜索引擎、自动式搜索引擎、元搜索引擎、分布式搜索引擎自动搜索引擎:利用 Robot 采集相关网页。在进信息加工后 (如:分析页面内容;生成索引; 摘要;分类) ,根据用户给出的查询项进行检索,并将检索结果按

2、相关性排 序(可根据匹配程度、查询项出现的位置 /频次、网页链接质量等) 后返回 给用户。优点:自动采集,信息量大,更新较及时。缺点:检索时缺乏在语义层次上的深层分析。查准率查准率(precision) 用来评价检索结果中有多少文档是和用户需求相关的。查准率=检索结果中和查询相关的文档数检索结果中的文档总数100%查全率查全率:文档库中所有相关文档中到底有多少被系统检索出来查全率=检索结果中和查询相关的文档数文档库中所有和查询相关的文档数100%网络信息检索的未来:1.以智能化为核心的智能检索2.多媒体信息检索3.跨语言检索4.个性化检索案例检索1. 输入待解决问题的要求、初始条件及其他相关信

3、息2. 根据问题要求及初始条件,从案例库中提取一组与当前问题相似的案例3. 从相似的案例中找出最接近当前问题的案例,通过对目标方案的修改来解决当前问题。4. 问题解决后,当前的解即可新的案例存入案例库中,以备后用 页面遍历算法广度优先:先采集完同一层的网页,在采集下一层的网页。深度优先:先沿一条路径采到叶节点,再从同层其他路径进行采集网页信息抽取的大致流程1、通过网络蜘蛛爬取页面,预处理后得到纯文本页面信息;2、对页面进行预处理,去掉 JavaScript、图片、Flash 等无关内容;3、找到对应的头部和尾部标志,并在其中抽取相应的内容;4、将抽取到的属性信息存入数据表。对 Lucene D

4、emo 的测试1、控制台方式(1)建立索引。在控制台 cmd 方式下输入:“java org.apache.lucene.demo.IndexFiles“d:workshopdocs”(设待索引文件在d:workshopdocs 下),则对目标文件夹( 即 d:workshopdocs)下所有文件建立索引,同时在当前命令行所在位置将生成 index 文件夹。(2)javaorg.apache.lucene.demo.SearchFiles,则在当前路径下找 index 文件夹并进行检索,要在存放索引文件的父目录中执行上述语句。这时将会出现“Enter Query: ”提示符,在其后输入关键字后

5、回车,即可得到查询结果,不支持中文检索。2、Web 方式cmd 模式下利用 Lucene 自带的 Demo 对指定位置的 html 文件建立索引并存放在指定的位置。(1)将 D:lucene-2.4.0lucene-2.4.0luceneweb.war 复制到 Tomcat 安装路径的webapps,输入 http:/localhost:8080/luceneweb,会打开lucene 的自带的 Demo 程序。(2)在新建的这个 luceneweb 文件夹下新建一 docs 文件夹,将一些 txt、html 等类型的文件复制到这个 docs 中。(3)对指定路径下的文件建立索引。cmd 下输

6、:java org.apache.lucene.demo.IndexHTMLcreate index“D:eclipsejavaTomcat 5.5webappslucenewebindex”“D:eclipsejavaTomcat 5.5webappslucenewebdocs”第一个参数是存放索引的目的地,第二个参数是存放待索引的文件的源位置(4)为使 Lucene 的 demo 能找到索引文件,需修改 Tomcat 安装路径下的 webappsLucenewebconfigration.jsp,使之能指向正确的索引位置。修改“String indexLocation”使之指向正确的 In

7、dex 文件夹,String indexLocation= “.webappslucenewebindex”;(5)在 Tomcat 运行状态下,在浏览器中输入 http:/localhost:8080/luceneweb。在文本框中输入关键字,如“Lucene windows” ,按照指定的与关系来进行检索。Lucene 索引和检索的主要流程步骤 1:构建索引,实例化 IndexWriter。在 IndexWriter 的构造函数中,第一个参数是有关索引位置的,如果采用 FSDirectory 方式,就要指定存放索引的位置;第二个参数是绑定分析器 Analyze;第三个参数为设定是否用增量索

8、引( true 为删除原目录中所有内容新建索引;false 为在原索引上追加索引即增量索引) 。步骤 2:构建 Document 并创建 Field。步骤 3:调用 IndexWriter 实例的 addDocument()方法将 Document 添加到索引。步骤 4:实例化 IndexSearcher,构建检索字串后可将其交由 QueryParser 分析处理。具体地,索引和检索过程中可能涉及的主要代码如下。(1)构建索引:按照某种方式(如 FSDirectory 方式)指定存放索引位置及使用的分词分析器后构建索引:IndexWriterwriter = new IndexWriter(I

9、NDEX_STORE_PATH,new StandardAnalyzer(),true);(2)将指定的 Field 加入索引中:用 IndexWriter 的 addDocument 方法实现:write.addDocument(bookname);(3)关闭索引:write.close();(4)构建检索对象:示例代码:IndexSearchersearcher = new IndexSearcher(INDEX_STORE_PATH);(5)给出查询字串:示例代码:String querystr= computer design;(6)指明检索字段及使用的分析器,这里使用的分析器要和建立

10、索引时使用的一致,示例:QueryParserparser = new QueryParser(bookname, newStandardAnalyzer();(7)指定可能的逻辑运算,如假定采用逻辑“与” ,示例代码:parser. setDefaultOperator(QueryParser. AND_OPERATOR);(8)生成 Query 对象,示例代码:Query query= parser. parse(querystr);(9)得到检索集,示例代码:Hits hits= searcher.search(query);(10)显示检索结果,示例代码:For(inti=0; i 0

11、) h = test.search(line);test.printResult(h);elsebreak;public LuceneSearch() try searcher = new IndexSearcher(IndexReader.open(Constants.INDEX_STORE_PATH); catch (Exception e) e.printStackTrace();/ 声明一个 IndexSearcher 对象private IndexSearcher searcher = null;/ 声明一个 Query 对象private Query query = null;pu

12、blic final Hits search(String keyword) System.out.println(正在检索关键字 : + keyword);try / 将关键字包装成 Query 对象query = QueryParser.parse(keyword, contents, new StandardAnalyzer();Date start = new Date();Hits hits = searcher.search(query);Date end = new Date();System.out.println(检索完成,用时 + (end.getTime() - star

13、t.getTime() + 毫秒);return hits; catch (Exception e) e.printStackTrace();return null;public void printResult(Hits h) if (h.length() = 0) System.out.println(对不起,没有找到您要的结果。); else for (int i = 0; i h.length(); i+) try Document doc = h.doc(i);System.out.print(这是第 + i + 个检索到的结果,文件名为: +doc.get(path);System

14、.out.print(,它的分值是:+ h.score(i)+n); catch (Exception e) e.printStackTrace();System.out.println(-);2package testlucene;import java.io.BufferedReader;import java.io.File;import java.io.FileInputStream;import java.io.InputStreamReader;import java.io.Reader;import java.util.Date;import org.apache.lucene.

15、analysis.Analyzer;import org.apache.lucene.analysis.standard.StandardAnalyzer;import org.apache.lucene.document.Document;import org.apache.lucene.document.Field;import org.apache.lucene.index.IndexWriter;public class LuceneIndex public static void main(String args) throws Exception / 声明一个对象LuceneInd

16、ex indexer = new LuceneIndex();/函数实现参加下方/ 建立索引Date start = new Date();indexer.writeToIndex();/函数实现参加下方Date end = new Date();System.out.println(建立索引用时 + (end.getTime() - start.getTime() + 毫秒);indexer.close();public LuceneIndex() try writer = new IndexWriter(Constants.INDEX_STORE_PATH, new StandardAnalyzer(), true);

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 研究报告 > 综合/其它

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号