基于JAVA+Eclipse+Tomcat+MYSQL/SQLSERVER开发的搜索引擎的设计与实现

基于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对象来实现文件的搜索:

页面效果

系统的部分功能模块页面如下所示。

                        系统正常运行后的系统首页

8a9981cf03cda8d47c7885cf2d45ae4e.png

搜索结果显示

620124bb3e6cc714732345c8bbb6b259.png

用户登录

71236f87a4832fcaf43cedc38bc0776e.png

登录后的系统主页信息

41b25519259dbe75e44c72fc6e7393bf.png

进行系统搜索

a28ba84e0b43e7e38a6e833ecb32de3a.png

进行JAVA关键词的搜索

5e7bb6ee237c73ebb1c879131a9ddabd.png

成功解析处理对应的网址系信息

b377e9325ef7d9f7caae3a1fb7b3d966.png

成功进行跳转

deae940c0a23ef312a021ad59f6e6ed3.png

整体流程总结 

7909ef361878ac164b8879dd8fe4b1cc.png

4184399cd1e32c6e16112968e684ce04.png

55884e470bea53316a8ca32aadab96b8.png

18be1d3e07a4c476fa3470521e86a7a4.png


运行教程                                                        

编号452-搜索引擎的设计与实现


系统源码

进入公众号,在右上角有放大镜,就是搜索公众号内全部文章的题目,公众号各类的素材和相关的题目都可以通过这个方法来进行搜索。

输入要自己想要看的题材和对应的素材就可以了,因为的将各个类目的题材,都浓缩在题目里面, 所以只要是标题里面有的,或者涵盖了你的题目素材基本上都可以搜索的到。

15ee68ea910ef12638200ab6484b46d3.png

关注微信公众号 “letcoding”---》源缘编程


  • 16
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值