lucene索引的搜索引擎设计与实现【字数:8105】
身处信息大爆炸时代中的人们,面对着日新月异的信息更迭,人们越来越注重对网络信息的筛选,寻找自己需要的那部分信息,找到对自己有价值的直观的和潜在的信息内容。对此需求,促进的搜索引擎的诞生,搜索引擎的出现极大的方便了人们在网络世界中搜寻信息的活动。下面将会介绍搜索引擎出现的必要性,以及什么是搜索引擎、搜索引擎的分类、处理流程、核心技术,同时也对如何才能提高搜索引擎的精准度以及关联度进行了更加深入的研究。本次论文主要对此次设计使用的实现搜索技术的Lucene做出详细介绍,还有对搜索引擎的原理做出自己的言简意赅的分析,还有目前搜索引擎主要的搜索方法做一个简单的实现,再对实现的系统做一个基本的软件测试过程,最后论述一下搜索引擎如今对人们生活所带来的影响。
目录
第一章 绪论 5
1.1 项目背景 5
1.2 现状分析 5
1.3 论文结构 6
第二章 使用技术简介 7
2.1 LUCENE介绍 7
2.2 全文检索 7
2.3 LUCENE实现全文检索的流程 10
2.4 全文检索与数据查询的区别 11
第三章 搜索引擎的基本原理 12
3.1 搜索引擎的组成 12
3.2 搜索引擎的详细工作原理 13
第四章 系统分析与设计 15
4.1系统分析 15
4.2系统实现目标 19
第五章 系统实现 20
5.1实现环境配置 20
5.2功能实现 20
5.2.1 建立索引 20
5.2.2 本地文件搜索实现 21
5.2.3 数据库的连接配置 21
5.2.4 数据库搜索实现 21
5.2.5 后台数据编辑实现 22
第六章 系统测试 24
6.1测试重要性 24
6.2测试用例 25
第七章 社会影响 26
结 论 28
致 谢 29
参 考 文 献 30
1.绪论
项目背景
在网络世界里,所 *好棒文|www.hbsrm.com +Q: &351916072&
有事物都叫做资源,利用URL(统一资源标识符)来标识,用户通过点击自己想要获取的资源的链接,就可以找到自己想要的资源,并且可以通过下载的方式的获取到资源。
搜索引擎的发展,最早要追溯到上个世纪的90年代,那也是互联网浪潮兴起的年代,是一个IT行业大牛辈出的年代,当时由于互联刚刚兴起,网络上的资源分散性特别大,想要快速的找到自己想到资源还不是一件容易的事情。加拿大麦吉尔大学(McGill University)计算机学院里的众多师生开发出来了搜索引擎的最初模型Archie,这是一个可以自主识别并搜集和处理上传至FTP上的信息的系统,当客户端发出搜索请求,系统会根据搜索请求的内容,自动提供保存在主机中文件。Archie诞生之初HTML技术还没有被发明,所以当时只是作为一个模型进行测试。这种模式对后来我们所熟知的搜索引擎产品有很大的启迪意义,其工作原理和工作方式一直沿用至今。Archie当时就已经能够做到自动搜集信息资源,建立索引目录,并直观的呈现给用户。这种模式在现在的搜索引擎上被完全继承下来。
当下人们日常使用搜索引擎主要用于网上查找信息,一般人也许刚打开浏览器第一件事就是打开百度搜索去搜索自己想要的信息资源,然后在跳转到相关的资源网站,搜索引擎从最初期国外的雅虎、谷歌的搜索引擎,到国内的百度360的搜索随着互联网技术的不断完善、拓展、创新在用户体验上都带来了更好的体验。伴随着5G甚至未来通信技术的大发展,搜索引擎在未来也会有更好的前景。
现状分析
随着时代的发展,信息的储存量呈几何倍数增长,检索技术的发展已经不能够与之相匹配,总结有以下几方面的不足:
(1) 随着信息量的增加,就算是本行业的专业从业人员也会对整体搜索技术存在认知上的空白,面对庞大的工作总量,仅通过人工操作,是不可能对此做出有效的分类筛选,在进行检索和利用就更无从谈起了。
(3) 网络信息一日千变,人们生活节奏越来越快,在阅读碎片化的大背景下,用户获取的信息都是不完整的,比较讲究时效性,而目前搜索引擎想要根据实时信息做到同步更新还是不现实的。
体现搜索引擎可用性的标准主要是速度和效率,这也是其只要提升和发展的方向。使其能够快速的提供准确的信息给用户,这样才能够在搜索引擎领域立于不败之地。
论文结构
论文结构安排如下:
第1章 绪论,本章内容主要包括项目背景介绍、说出现状分析、论文结构说明,整体阐述本次论文的总体情况,开启全篇。
第2章 使用技术简介,对涉及到技术做一个简单的介绍。
第3章 搜索引擎基本原理,对搜索引擎的基本组成结构和工作流程做出具体介绍。
第4章 系统分析和系统设计,依据需求对系统做出具体分析和设计出基本框架。
第5章 系统实现,根据上一章内容完成对系统的实现。
第6章 系统测试,完成对系统的测试。
第7章 总结。
最后 致谢、参考文献。
2.使用技术简介
2.1 Lucene介绍
Lucene是Apache的一个全文检索引擎工具包,通过Lucene可以让程序员快速开发一个全文检索功能。
Lucene在这边用到的只是一个java的jar包,可以用它实现搜索引擎的核心功能,它并不是一个具有实际使用功能的搜索引擎的产品,和搜索引擎在概念是有区别的。它不能单独使用,不能单独对外提供服务,需要开发人员对其完善。它使用的是一种称为反向索引的机制。反向索引简单理解就是维护一个词/短语表,对于这个表中的每个词/短语,都有一个相关信息描述了有哪些文档包含了这个词/短语。这样在用户输入查询条件的时候,就能非常快的得到搜索结果,它本身只关注文本的索引和搜索。
/
图21 lucene的大致结构框图
数据库和索引库同样存储在磁盘上,数据库的表可以抽象出一个数据格式,在这里用document表示,在document对象中有相同的字段名称对应数据库表的字段,再将数据库表的信息转换为文档格式。
2.2 全文检索
全文检索的应用场景一般有一下几种:
目录
第一章 绪论 5
1.1 项目背景 5
1.2 现状分析 5
1.3 论文结构 6
第二章 使用技术简介 7
2.1 LUCENE介绍 7
2.2 全文检索 7
2.3 LUCENE实现全文检索的流程 10
2.4 全文检索与数据查询的区别 11
第三章 搜索引擎的基本原理 12
3.1 搜索引擎的组成 12
3.2 搜索引擎的详细工作原理 13
第四章 系统分析与设计 15
4.1系统分析 15
4.2系统实现目标 19
第五章 系统实现 20
5.1实现环境配置 20
5.2功能实现 20
5.2.1 建立索引 20
5.2.2 本地文件搜索实现 21
5.2.3 数据库的连接配置 21
5.2.4 数据库搜索实现 21
5.2.5 后台数据编辑实现 22
第六章 系统测试 24
6.1测试重要性 24
6.2测试用例 25
第七章 社会影响 26
结 论 28
致 谢 29
参 考 文 献 30
1.绪论
项目背景
在网络世界里,所 *好棒文|www.hbsrm.com +Q: &351916072&
有事物都叫做资源,利用URL(统一资源标识符)来标识,用户通过点击自己想要获取的资源的链接,就可以找到自己想要的资源,并且可以通过下载的方式的获取到资源。
搜索引擎的发展,最早要追溯到上个世纪的90年代,那也是互联网浪潮兴起的年代,是一个IT行业大牛辈出的年代,当时由于互联刚刚兴起,网络上的资源分散性特别大,想要快速的找到自己想到资源还不是一件容易的事情。加拿大麦吉尔大学(McGill University)计算机学院里的众多师生开发出来了搜索引擎的最初模型Archie,这是一个可以自主识别并搜集和处理上传至FTP上的信息的系统,当客户端发出搜索请求,系统会根据搜索请求的内容,自动提供保存在主机中文件。Archie诞生之初HTML技术还没有被发明,所以当时只是作为一个模型进行测试。这种模式对后来我们所熟知的搜索引擎产品有很大的启迪意义,其工作原理和工作方式一直沿用至今。Archie当时就已经能够做到自动搜集信息资源,建立索引目录,并直观的呈现给用户。这种模式在现在的搜索引擎上被完全继承下来。
当下人们日常使用搜索引擎主要用于网上查找信息,一般人也许刚打开浏览器第一件事就是打开百度搜索去搜索自己想要的信息资源,然后在跳转到相关的资源网站,搜索引擎从最初期国外的雅虎、谷歌的搜索引擎,到国内的百度360的搜索随着互联网技术的不断完善、拓展、创新在用户体验上都带来了更好的体验。伴随着5G甚至未来通信技术的大发展,搜索引擎在未来也会有更好的前景。
现状分析
随着时代的发展,信息的储存量呈几何倍数增长,检索技术的发展已经不能够与之相匹配,总结有以下几方面的不足:
(1) 随着信息量的增加,就算是本行业的专业从业人员也会对整体搜索技术存在认知上的空白,面对庞大的工作总量,仅通过人工操作,是不可能对此做出有效的分类筛选,在进行检索和利用就更无从谈起了。
(3) 网络信息一日千变,人们生活节奏越来越快,在阅读碎片化的大背景下,用户获取的信息都是不完整的,比较讲究时效性,而目前搜索引擎想要根据实时信息做到同步更新还是不现实的。
体现搜索引擎可用性的标准主要是速度和效率,这也是其只要提升和发展的方向。使其能够快速的提供准确的信息给用户,这样才能够在搜索引擎领域立于不败之地。
论文结构
论文结构安排如下:
第1章 绪论,本章内容主要包括项目背景介绍、说出现状分析、论文结构说明,整体阐述本次论文的总体情况,开启全篇。
第2章 使用技术简介,对涉及到技术做一个简单的介绍。
第3章 搜索引擎基本原理,对搜索引擎的基本组成结构和工作流程做出具体介绍。
第4章 系统分析和系统设计,依据需求对系统做出具体分析和设计出基本框架。
第5章 系统实现,根据上一章内容完成对系统的实现。
第6章 系统测试,完成对系统的测试。
第7章 总结。
最后 致谢、参考文献。
2.使用技术简介
2.1 Lucene介绍
Lucene是Apache的一个全文检索引擎工具包,通过Lucene可以让程序员快速开发一个全文检索功能。
Lucene在这边用到的只是一个java的jar包,可以用它实现搜索引擎的核心功能,它并不是一个具有实际使用功能的搜索引擎的产品,和搜索引擎在概念是有区别的。它不能单独使用,不能单独对外提供服务,需要开发人员对其完善。它使用的是一种称为反向索引的机制。反向索引简单理解就是维护一个词/短语表,对于这个表中的每个词/短语,都有一个相关信息描述了有哪些文档包含了这个词/短语。这样在用户输入查询条件的时候,就能非常快的得到搜索结果,它本身只关注文本的索引和搜索。
/
图21 lucene的大致结构框图
数据库和索引库同样存储在磁盘上,数据库的表可以抽象出一个数据格式,在这里用document表示,在document对象中有相同的字段名称对应数据库表的字段,再将数据库表的信息转换为文档格式。
2.2 全文检索
全文检索的应用场景一般有一下几种:
版权保护: 本文由 hbsrm.com编辑,转载请保留链接: www.hbsrm.com/jsj/rjgc/502.html