本文转载自本人博客:我的博客地址 测试可以访问的 不可访问
不可访问授权码错误
一种全文检索的思路和实现
蓝冰飞寒
摘要:在最初进行设计的时候我是按照搜索引擎来设计的,在做爬行页面的过程中发现了很多问题,都是很难克服的瓶颈。因此放弃了这种方案,采用了单纯搜索本地文件的全文检索策略,全文检索方面有大名鼎鼎的Lucene,之所以没有添加Lucene进来,是因为Lucene封装了建立索引和查询索引的过程,作为毕业论文,我想用自己思路来实现这个过程,我实现了,尽管很笨拙而且看似庞杂。信息检索不是一个人的智力能完成的工作。本文所讨论的是信息检索领域的全文检索技术,切词采用正向最大模式切词,建立索引的时候采用的是流行的倒排索引技术,排序是使用TF-IDF的统计方法,达到的目的就是简单,迅速,准确的找到我们所需要的信息,而不需要对知识进行分类。本文几乎没有在技术上的创新,旨在讲清思路。让搜索不再神秘。本检索程序采用java做为实现语言,采用搜索框的方式进行信息检索,适用于各种实现静态化的网站系统和文本(包括html,txt,pdf,word)形式的文件系统。
关键词:全文检索 倒排索引
1、引言:第三次科技革命使人类由工业社会进入信息社会,信息社会到来的时代称为“知识经济时代”。随着互联网的普及和数字信息量的爆炸式增长,可以让我们足不出户的可以接触到海量的信息。现在,已经有一些优秀的信息检索产品,其中最常用的应该是智能搜索引擎了。智能搜索引擎是在整个互联网上搜索信息,更多的企业中型网站系统,政府部门,都希望有自己的检索系统,能够迅速准确的查询到本系统中的信息。目前对于搜索的讨论都集中Lucene上,Lucene虽然提供了便利,但是他在很大程度上影响了中国程序员在数据检索方面的自主思考。我也是用Lucene进行过信息检索。本索引程序明显没有Lucene优秀,在文中不再讨论Lucene的相关技术。本文的索引策略参考了很多资料,其中也包括Lucene。正如《lucene in action》中作者所说,搜索将成为编程领域的热门话题。
传统数据库检索存在的问题:众所周知,sql语句可以通过like等关键字进行匹配,但是我们需要的是进行全文检索,全文检索是一种将文件中所有文本与检索项匹配的文字资料检索方法。sql语句的检索只能是特定项,而且大部分数据库都不支持大文本的模糊查询。
2、核心算法实现
2.1 词库
2.2 停止词
2.3 切词
2.4 建立索引
2.5 排序
3、索引数据结构和索引数据存储算法
3.1 索引数据表结构及表之间关联关系
3.2 索引数据插入策略
3.3 索引数据更新策略
3.4 索引数据删除策略
4、索引模式实现方法
4.1完全索引模式实现
4.2增量索引模式实现
5、关于定时任务的尝试
5.1 任务创建和执行的过程
5.2索引删除同步实现
6、检索方法实现
6.1 带有任务标识的检索方法
6.2 关键词高亮实现策略
7、查全率和查确率
7.1查全率分析
7.2 查确率分析
结束语:本文介绍了本检索程序的各个重要部分,本系统具备了高效全文检索的特性,比如倒排索引,正向的最大匹配。在效率上本系统抛弃了Hibernate等底层数据库操作的封装,直接使用jdbc来进行数据库的操作。在一些关键部分采用了批量处理的方式。由于技术和智力水平有限,在切词的准确性方面难做到很精确。
本文并未直接的索引数据库,索引数据库使用本系统核心架构可以达到更加精准的检索,但是对于数据库的差异性处理本人知识存在欠缺。
这是我的本科学位论文的最初版本,后来参考了几篇论文后,已经改的面目全非了,论文最多五个大标题,我搞了7个。代码完善中,如果心情好,也会放出。
分享到:
相关推荐
文献检索与科技论文课件:第八讲 文献...特种文献检索包括会议论文、学位论文、科技报告、标准、专利等。 8.2.7 检索策略 检索策略是指文献检索的策略,包括数据系统选择、检索关键词选取、检索关键词逻辑关系等。
在电子书《如何查找学位论文》中,作者深入介绍了如何有效地搜索和获取学位论文,特别是博士和硕士级别的学术资源。以下是一些关键知识点的详细解释: 1. **全国博硕士论文摘要检索系统**:这是一个主要针对中国...
《电子商务网站的设计与实现》是一篇本科学位论文,主要探讨了如何运用计算机技术,特别是PHP开发技术,来构建一个动态的电子商务网站,以实现网上购物的功能。论文中提到的项目是一个电脑商城的实例,旨在为商家...
学士学位论文对于即将毕业的本科生来说至关重要,它不仅是对四年学习成果的总结,也是对个人研究能力的一种展示。学士学位论文需要达到一定的标准,包括但不限于以下几个方面: - **文字准确性**:论文中的所有文字...
学位论文可以分为两种类型:综论和理论研究和探讨性论文。综论是指作者根据大量文献资料进行科学的分析和概括,提出本人的独特见解。理论研究和探讨性论文是指作者根据前人的论点或结论,经过实验和研究,提出进一步...
本资源是关于基于三层架构的征婚交友网站设计与实现的毕业设计论文,论文主要介绍了如何使用三层架构模式设计和实现一个征婚交友网站。三层架构模式包括数据访问层(DAL)、业务逻辑层(BLL)和表示层(WebUI),每...
根据授予的学位级别不同,学位论文可分为学士学位论文、硕士学位论文和博士学位论文三种。学位论文的特点是探讨的问题较专深、产生于有学位授予权的高等学校或研究机构,在导师指导下完成。 学位论文的检索主要利用...
CETD中文电子学位论文数据库 CETD中文电子学位论文数据库是...CETD中文电子学位论文数据库是一个功能强大、内容丰富的学术性数据库,旨在为全球华人地区的研究人员和学生提供一个快速、便捷、权威的学术资源检索平台。
聪明检索是万方数据知识服务平台提供的一种智能检索方式,能够快速和精准地检索出相关的学术文献。该方式支持使用多种字段和逻辑表达方式组配检索策略,能够满足不同领域和需求的检索需求。 八、高级检索 高级检索...
"清华大学"标签凸显了讲座的来源和质量保证,"讲座"则表示这是一种教学形式,通过专家的现场讲解来传递知识。 【文件内容推测】 虽然没有具体的文件内容,但根据标题和描述,我们可以推测文件可能包含以下几个方面...
6. 学位论文的版权和使用授权:学位论文的作者拥有论文的版权,但学校也可以保留并使用论文的印刷本和电子版本,并提供目录检索与阅览服务。 7. 指导教师的评阅和评价:指导教师在评阅论文时,需要对学生的论文进行...
在国内,我们也有像**万方数据**这样的资源,它提供了国内期刊、学位论文、会议论文、专利等多方面的学术信息。 除了专业数据库,网络搜索引擎如**Google Scholar**和**百度学术**也是不可或缺的工具。它们能帮助...
对于特殊文献类型,如学位论文、政府出版物和会议论文,它们在信息源分类中有独特的地位。会议论文在CPCI(Conference Proceedings Citation Index)中被检索,Open Access出版模式让作者保留版权,允许公众免费访问...
这款软件提供了一种高效的方式,帮助用户在撰写学术论文时规范地引用参考文献,大大提升了科研写作的效率。针对“东南大学学位论文NoteExpress参考文献输出样式 v1.0”,我们可以深入探讨以下几个关键知识点: 1. *...
清华大学学位论文LaTeX模板,是为了帮助清华大学的研究生按照学校规定的格式要求,高效便捷地撰写本科、硕士和博士学位论文。模板会自动处理页眉页脚、目录生成、章节排版、图表和参考文献引用等格式问题,使作者...
在设计和实现过程中,系统考虑了性能、安全性和用户体验。由于所有的数据处理和维护都在服务器端进行,这降低了管理成本,同时确保了数据的一致性和安全性。此外,通过优化的用户界面设计,提高了用户的操作便捷性,...
设计(论文)的印刷本和...总的来说,这篇论文深入探讨了CPLD在移动通信系统中的应用,特别是在调制编码方面,展示了如何利用CPLD的灵活性和高效性来优化系统性能,对于理解现代移动通信系统的设计和实现具有重要意义。
本文主要探讨了如何设计和实现一个高效的企业门户网站,涉及到的关键技术和方法包括Struts2框架、JBPM工作流系统、UML需求分析模型、面向对象设计以及Apache和Tomcat服务器的使用。 首先,Struts2框架是实现企业...