基于JAVA+Eclipse+Tomcat+MYSQL/SQLSERVER开发的搜索引擎的设计与实现
项目介绍💁🏻
经过对搜索引擎的研究同时与Lucene自身的特性相结合,搜索引擎的设计与实现需要实现的功能阐述如下:
(1)支持桌面文件搜索,格式包括txt、doc、xls和ppt;
(2)支持分词查询
(3)支持全文搜索
(4)能够高亮显示搜索关键字
(5)显示查询所用的时间
(6)显示搜索历史、过滤关键字
(7)MYSQL和SQL SERVER都可以
功能模块
5.2.1 建立索引
Lucene对数据的检索是在索引文件中查找的,可能会有人问为什么不直接在数据中检索呢?一个是数据库检索要实现全文检索,实现分词是相当困难的,而且,如果数据量小只有几百几千倒是可以考虑用数据库检索。把数据从数据库里读取出来,写入索引文件的时候是一条一条记录的写入的。
由于Lucene只能替文本这一类型的数据组建索引,所以为了进行其他类型的数据进行检索,只能把其他的格式的数据用文本类型的替换,这样就可以进行索引、搜索了。如果需要对HTML文档进行索引的话,你就首先需要利用文本格式把 HTML文档替换,随后才可以将转化的结果输入 Lucene进行索引与检索,接着就会创建一份索引文件,我们需要把它保存到存储器里面,最终通过判断用户在UI界面输入的查询请求,从建立好的索引文件中查找。
5.2.2 文件搜索实现
文件搜索首先需在设置系统一个搜索文件夹,然后把待搜索的文件放到该文件夹下面,接着输入关键字即可搜索,本系统目前支持搜索的文件格式包括.txt、.doc、.xls和.ppt.
在文件搜索之前需要建立索引,在建立索引的时候对性能影响最大的地方就是在将索引写入文件的时候, 所以在具体应用的时候就需要对此加以控制[4].
在读取文件夹下的文件时,我们是通过FileInputStream对象来完成这一操作的,该对象只需要有一个参数就可以啦,这个参数就是文件的存储路径,如果我们使用FileInputStream来读取文件的话,我们还需要通过利用BufferedReader对象,把文件转换成Buffered的形式存放,最后我们通过IndexSearcher对象来实现文件的搜索:
。
页面效果
系统的部分功能模块页面如下所示。
系统正常运行后的系统首页
搜索结果显示
用户登录
登录后的系统主页信息
进行系统搜索
进行JAVA关键词的搜索
成功解析处理对应的网址系信息
成功进行跳转
整体流程总结
运行教程
编号452-搜索引擎的设计与实现
系统源码
进入公众号,在右上角有放大镜,就是搜索公众号内全部文章的题目,公众号各类的素材和相关的题目都可以通过这个方法来进行搜索。
输入要自己想要看的题材和对应的素材就可以了,因为的将各个类目的题材,都浓缩在题目里面, 所以只要是标题里面有的,或者涵盖了你的题目素材基本上都可以搜索的到。
关注微信公众号 “letcoding”---》源缘编程