CN114564451A - 基于java实现网盘中文件及标签的检索方法 - Google Patents
基于java实现网盘中文件及标签的检索方法 Download PDFInfo
- Publication number
- CN114564451A CN114564451A CN202011359847.0A CN202011359847A CN114564451A CN 114564451 A CN114564451 A CN 114564451A CN 202011359847 A CN202011359847 A CN 202011359847A CN 114564451 A CN114564451 A CN 114564451A
- Authority
- CN
- China
- Prior art keywords
- file
- server
- pomelo
- information
- search
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/14—Details of searching files based on file metadata
- G06F16/148—File search processing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/245—Query processing
- G06F16/2457—Query processing with adaptation to user needs
- G06F16/24578—Query processing with adaptation to user needs using ranking
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/28—Databases characterised by their database models, e.g. relational or object models
- G06F16/284—Relational databases
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/30—Creation or generation of source code
- G06F8/31—Programming languages or programming paradigms
- G06F8/315—Object-oriented languages
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Databases & Information Systems (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Software Systems (AREA)
- Computational Linguistics (AREA)
- Library & Information Science (AREA)
- Computing Systems (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本发明公开了一种基于java实现网盘中文件及标签的检索方法,包括如下步骤:首先用户在网盘中上传文件,所述文件存储在doc server,doc server对所述文件转码,esc提取所述文件中的文本内容和文件信息,并将所述文本内容和所述文件信息均存储到Elasticsearch服务器中,用户在网盘搜索页面输入关键词搜索文件,pomelo服务器接受并处理搜索文件请求,pomelo服务器搜索文件,pomelo服务器同时也调用Elasticsearch服务器搜索文件,然后pomelo服务器整合pomelo服务器和Elasticsearch服务器的搜索结果,WebSocket将所述搜索结果返回并展现到搜索页面。本发明用户输入关键词搜索文件,关键词包含文件名称、文本内容、文件标签和文件格式,用户搜索文件方式多样,搜索结果全面,且方便快速。
Description
技术领域
本发明涉及网盘中文件检索领域,尤其涉及一种基于java实现网盘中文件及标签的检索方法。
背景技术
目前,网盘搜索功能大部分只能根据文件名称搜索,无法根据搜索文件内容,甚至文件格式或文件标签等提供检索服务,并且目前大部分网站或磁盘的搜索速度较慢,费时费力,有时可能达不到用户想要的搜索效果,给用户的使用带来不便。
因此,结合上述存在的技术问题,有必要提供一种新的技术方案。
发明内容
为解决现有技术中存在的技术问题,本发明提供了一种根据多种条件快速检索文件的方法,方便用户对文件的管理和查找,提供的一种java实现网盘中文件及标签的检索方法,具体技术方案如下所述:
S1:用户在网盘中上传文件;
S2:所述文件存储在doc server,doc server对所述文件转码,esc提取所述文件中的文本内容和文件信息,并将所述文本内容和所述文件信息均存储到Elasticsearch服务器中;
S3:用户在网盘搜索页面输入关键词搜索文件,pomelo服务器接受并处理搜索文件请求;
S4:pomelo服务器搜索文件,pomelo服务器同时也调用Elasticsearch服务器搜索文件,然后pomelo服务器整合pomelo服务器的搜索结果和Elasticsearch服务器的搜索结果;
S5:通过pomelo服务器中的WebSocket将所述搜索结果返回并展现到搜索页面。
进一步的,步骤S1中,用户上传文件后,在网盘中对所述文件添加文件标签。
进一步的,步骤S5中,pomelo服务器搜索文件名称和文件标签。
进一步的,步骤S2中,所述文本内容的提取存储和所述文件信息的提取存储的具体步骤为:
S201:用户在网盘中上传文件,浏览器的前端脚本获取所述文件的文件类型,所述前端脚本请求web server获取上传地址;
S202:web server根据所述文件类型查询MySQL数据库以获得所述文件的上传地址,然后将所述上传地址返回给浏览器;
S203:浏览器从所述上传地址调取文件,并将所述文件上传到doc server;
S204:doc server保存完成所述文件后调用web server接口,web server将文件存储信息写入MySQL数据库中,web server获取到文件field;
S205:web server判断文件类型,若所述文件类型可以转码,则web server生成所述文件的文件待转换信息,jedis将文件待转换信息添加到Redis转码队列中;
S206:doc server监听Redis转码队列,当监听到Redis的转码队列不为空时,docserver获取所述文件待转换信息,并根据文件待转换信息中的文件路径找到所述文件,docserver对所述文件进行转码,将所述文件转换成pdf文件,将转换的pdf文件进行加密并存储到所述文件的同一目录下,再调用web server转换完成的接口;
S207:web server转换完成的接口更新MySQL数据库中文件的状态和pdf文件的预览密码,将文件信息添加到Redis全文检索队列中;
S208:esc进程监听Redis全文检索队列,监听到Redis全文检索队列中有文件信息时,esc进程获取所述文件信息,并根据所述文件信息中的文件路径和pdf文件的预览密码获取所述pdf文件,再通过pdf解析类解析文件,最终提取到文本内容;
S209:esc进程调用Elasticsearch服务器,并将所述文件信息和提取的文本内容发送并存储到Elasticsearch服务器。
进一步的,步骤S204中,所述文件存储信息包含所述文件的保存位置、所述文件对应的用户和所述文件的上传时间。
进一步的,步骤S205中,所述文件待转换信息包含所述文件存储信息、表示需要转码的队列名称、文件field和文件存储路径。
进一步的,步骤S207中,所述文件信息包括文件存储信息、pdf文件的位置和pdf文件的预览密码。
进一步的,所述文件添加文件标签的具体步骤为:
S301:用户在网盘的文件列表页面对所述文件添加文件标签,浏览器通过WebSocket请求pomelo服务器;
S302:pomelo服务器访问MySQL数据库,更新MySQL数据库中所述文件的信息;
S303:MySQL数据库返回更新结果;
S304:pomelo服务器访问Elasticsearch服务器,更新Elasticsearch服务器中所述文件的信息,并将更新结果返回给pomelo服务器;
S305:pomelo服务器整合MySQL数据库返回的更新结果和Elasticsearch服务器返回的更新结果;
S306:pomelo服务器将整合的更新结果返回给浏览器。
进一步的,步骤S3中,用户搜索文件的搜索条件包含文件名称、文本内容、文件格式或文件标签。
本发明的基于java实现网盘中文件及标签的检索方法,具有如下有益效果:
(1)本发明的基于java实现网盘中文件及标签的检索方法,用户在上传office文档、pdf文档、wps自有的格式文档、文本文档等文件后,用户在搜索页面输入关键词搜索文件,关键词包含文件名称、文本内容、文件标签和文件格式;
(2)本发明的基于java实现网盘中文件及标签的检索方法,其用户搜索文件方式多样,搜索结果全面,且方便快速。
本发明的附加方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本发明的实践了解到。
附图说明
为了更清楚地说明本发明的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它附图。
图1是本发明所述的基于java实现网盘中文件及标签的检索方法的整体结构图;
图2是本发明实施例所述的基于java实现网盘中文件及标签的检索方法的检索效果图。
具体实施方式
下面将详细描述本发明实施例,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
实施例
请参阅图1-2,图1是本发明所述的基于java实现网盘中文件及标签的检索方法的整体结构图,图2是本发明实施例所述的基于java实现网盘中文件及标签的检索方法的检索效果图。如图1所示,本发明涉及一种基于java实现网盘中文件及标签的检索方法,所述方法具体为:
S1:用户在网盘中上传文件;
进一步的,用户上传文件后,还可以对所述文件添加文件标签;
S2:所述文件存储在doc server,doc server对所述文件转码,esc提取所述文件中的文本内容和文件信息,并将所述文本内容和所述文件信息都存储到Elasticsearch服务器中;
S3:用户在网盘搜索页面输入关键词搜索文件,pomelo服务器接受并处理搜索文件请求;
进一步的,用户搜索文件的搜索条件包含文件名称、文本内容、文件格式或文件标签;
S4:pomelo服务器搜索文件,pomelo服务器同时也调用Elasticsearch服务器搜索文件,然后pomelo服务器整合pomelo服务器的搜索结果和Elasticsearch服务器的搜索结果;
进一步的,pomelo服务器搜索文件名称和文件标签,Elasticsearch服务器搜索文本内容;
S5:通过pomelo服务器中的WebSocket将所述搜索结果返回并展现到搜索页面。
在本发明实施例中,基于java实现网盘中文件及标签的检索方法的具体实现过程为:
1)、将所述文件添加到全文检索服务器中,具体步骤为:
S201:用户在网盘中上传文件,浏览器的前端脚本获取所述文件的文件类型,所述前端脚本请求web server获取所述文件的上传地址;
S202:web server根据所述文件类型查询MySQL数据库以获得所述文件的上传地址,然后将所述上传地址返回给浏览器;
S203:浏览器从所述上传地址调取文件,并将所述文件上传到doc server;
S204:doc server保存完成所述文件后调用web server接口,web server将文件存储信息写入MySQL数据库中,web server获取到文件field;
进一步的,所述文件存储信息包含所述文件的保存位置、所述文件对应的用户和所述文件的上传时间;
S205:web server判断文件类型,若所述文件类型可以转码,则web server生成所述文件的文件待转换信息,jedis将文件待转换信息添加到Redis转码队列中;
进一步的,所述文件待转换信息包含所述文件存储信息、表示需要转码的队列名称、文件field和文件存储路径;
S206:doc server监听Redis转码队列,当监听到Redis的转码队列不为空时,docserver获取所述文件待转换信息,并根据文件待转换信息中的文件路径找到所述文件,docserver对所述文件进行转码,将所述文件转换成pdf文件,将转换的pdf文件进行加密并存储到所述文件的同一目录下,再调用web server转换完成的接口;
S207:web server转换完成的接口更新MySQL数据库中文件的状态和pdf文件的预览密码,将文件信息添加到Redis全文检索队列中;
进一步的,所述文件信息包括文件存储信息、pdf文件的位置和pdf文件的预览密码。
S208:esc进程监听Redis全文检索队列,监听到Redis全文检索队列中有文件信息时,esc进程获取所述文件信息,并根据所述文件信息中的文件路径和pdf文件的预览密码获取所述pdf文件,再通过pdf解析类解析文件,最终提取到文本内容;
S209:esc进程调用Elasticsearch服务器,并将所述文件信息和提取的文本内容发送并存储到Elasticsearch服务器,Elasticsearch对所述文本内容建立索引。
2)、所述文件添加文件标签,用户在文件列表页面对所述文件添加标签,以达到快速检索相同标签文件的目的。具体步骤为:
S301:用户在网盘的文件列表页面对所述文件添加文件标签,浏览器通过WebSocket请求pomelo服务器;
S302:pomelo服务器访问MySQL数据库,更新MySQL数据库中所述文件的信息;
S303:MySQL数据库返回更新结果;
S304:pomelo服务器访问Elasticsearch服务器,更新Elasticsearch服务器中所述文件的信息,并将更新结果返回给pomelo服务器;
S305:pomelo服务器整合MySQL数据库返回的更新结果和Elasticsearch服务器返回的更新结果;
S306:pomelo服务器将整合的更新结果返回给浏览器。
3)、用户通过输入关键词,请求Pomelo服务器搜索文件,Pomelo服务器从MySQL数据库中查询文件名称和文件标签,同时Pomelo服务器请求Elasticsearch服务器全文检索服务,搜索完毕后pomelo服务器将整合pomelo服务器的搜索结果和Elasticsearch服务器的搜索结果;然后pomelo服务器中的WebSocket将所述搜索结果返回并展现到搜索页面,如图2所示,图2为搜索结果返回到搜索页面的效果图的一个实施例。
示例中,
web server:提供http服务,提供用户访问网页的资源;
doc server:文件存储服务器,用户上传的文件会通过doc server来存储,并实现文件转码;
pomelo服务器:运行NodeJS语言的高性能web服务器,对外提供http和WebSocket服务,用户实现对文件的查看和管理都是通过pomelo服务器实现;
Redis:高性能key-value数据库,实现用户的会话存储、消息队列的存储及其它信息的存储;
MySQL数据库:用户信息和文件信息的存储;
esc进程:监听Redis中的消息队列的进程,文件转码完成后,提取文件信息和文件中的文本内容,推送到Elasticsearch数据源中;
Elasticsearch服务器:全文检索服务,根据条件从Elasticsearch数据源中搜索并返回结果。
本发明的有益效果是:
(1)本发明的基于java实现网盘中文件及标签的检索方法,用户在上传office文档、pdf文档、wps自有的格式文档、文本文档等文件后,用户在搜索页面输入关键词搜索文件,关键词包含文件名称、文本内容、文件标签和文件格式;
(2)本发明的基于java实现网盘中文件及标签的检索方法,其用户搜索文件方式多样,搜索结果全面,且方便快速。
尽管上面已经示出和描述了本发明的实施例,可以理解的是,上述实施例是示例性的,不能理解为对本发明的限制,本领域的普通技术人员在本发明的范围内可以对上述实施例进行变化、修改和变型。
Claims (9)
1.一种基于java实现网盘中文件及标签的检索方法,其特征在于,包括如下步骤:
S1:用户在网盘中上传文件;
S2:所述文件存储在doc server,doc server对所述文件转码,esc提取所述文件中的文本内容和文件信息,并将所述文本内容和所述文件信息均存储到Elasticsearch服务器中;
S3:用户在网盘搜索页面输入关键词搜索文件,pomelo服务器接受并处理搜索文件请求;
S4:pomelo服务器搜索文件,pomelo服务器同时也调用Elasticsearch服务器搜索文件,然后pomelo服务器整合pomelo服务器的搜索结果和Elasticsearch服务器的搜索结果;
S5:pomelo服务器中的WebSocket将所述搜索结果返回并展现到搜索页面。
2.根据权利要求1所述的基于java实现网盘中文件及标签的检索方法,其特征在于,步骤S1中,用户上传文件后,在网盘中对所述文件添加文件标签。
3.根据权利要求2所述的基于java实现网盘中文件及标签的检索方法,其特征在于,步骤S4中,pomelo服务器搜索文件名称和文件标签。
4.根据权利要求1所述的基于java实现网盘中文件及标签的检索方法,其特征在于,步骤S2中,所述文本内容的提取存储和所述文件信息的提取存储的具体步骤为:
S201:用户在网盘中上传文件,浏览器的前端脚本获取所述文件的文件类型,所述前端脚本请求web server获取上传地址;
S202:web server根据所述文件类型查询MySQL数据库以获得所述文件的上传地址,然后将所述上传地址返回给浏览器;
S203:浏览器从所述上传地址调取文件,并将所述文件上传到doc server;
S204:doc server保存完成所述文件后调用web server接口,web server将文件存储信息写入MySQL数据库中,web server获取到文件field;
S205:web server判断文件类型,若所述文件类型可以转码,则web server生成所述文件的文件待转换信息,jedis将文件待转换信息添加到Redis转码队列中;
S206:doc server监听Redis转码队列,当监听到Redis的转码队列不为空时,docserver获取所述文件待转换信息,并根据文件待转换信息中的文件路径找到所述文件,docserver对所述文件进行转码,将所述文件转换成pdf文件,将转换的pdf文件进行加密并存储到所述文件的同一目录下,再调用web server转换完成的接口;
S207:web server转换完成的接口更新MySQL数据库中文件的状态和pdf文件的预览密码,将文件信息添加到Redis全文检索队列中;
S208:esc进程监听Redis全文检索队列,监听到Redis全文检索队列中有文件信息时,esc进程获取所述文件信息,并根据所述文件信息中的文件路径和pdf文件的预览密码获取所述pdf文件,再通过pdf解析类解析文件,最终提取到文本内容;
S209:esc进程调用Elasticsearch服务器,并将所述文件信息和提取的文本内容发送并存储到Elasticsearch服务器。
5.根据权利要求4所述的基于java实现网盘中文件及标签的检索方法,其特征在于,步骤S204中,所述文件存储信息包含所述文件的保存位置、所述文件对应的用户和所述文件的上传时间。
6.根据权利要求4所述的基于java实现网盘中文件及标签的检索方法,其特征在于,步骤S205中,所述文件待转换信息包含所述文件存储信息、表示需要转码的队列名称、文件field和文件存储路径。
7.根据权利要求4所述的基于java实现网盘中文件及标签的检索方法,其特征在于,步骤S207中,所述文件信息包括文件存储信息、pdf文件的位置和pdf文件的预览密码。
8.根据权利要求2所述的基于java实现网盘中文件及标签的检索方法,其特征在于,所述文件添加文件标签的具体步骤为:
S301:用户在网盘的文件列表页面对所述文件添加文件标签,浏览器通过WebSocket请求pomelo服务器;
S302:pomelo服务器访问MySQL数据库,更新MySQL数据库中所述文件的信息;
S303:MySQL数据库返回更新结果;
S304:pomelo服务器访问Elasticsearch服务器,更新Elasticsearch服务器中所述文件的信息,并将更新结果返回给pomelo服务器;
S305:pomelo服务器整合MySQL数据库返回的更新结果和Elasticsearch服务器返回的更新结果;
S306:pomelo服务器将整合的更新结果返回给浏览器。
9.根据权利要求1所述的基于java实现网盘中文件及标签的检索方法,其特征在于,步骤S3中,用户搜索文件的搜索条件包含文件名称、文本内容、文件格式或文件标签。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011359847.0A CN114564451A (zh) | 2020-11-27 | 2020-11-27 | 基于java实现网盘中文件及标签的检索方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011359847.0A CN114564451A (zh) | 2020-11-27 | 2020-11-27 | 基于java实现网盘中文件及标签的检索方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114564451A true CN114564451A (zh) | 2022-05-31 |
Family
ID=81711232
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011359847.0A Pending CN114564451A (zh) | 2020-11-27 | 2020-11-27 | 基于java实现网盘中文件及标签的检索方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114564451A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115114234A (zh) * | 2022-08-29 | 2022-09-27 | 太平金融科技服务(上海)有限公司深圳分公司 | 文件预览方法、装置、服务器、终端和存储介质 |
-
2020
- 2020-11-27 CN CN202011359847.0A patent/CN114564451A/zh active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115114234A (zh) * | 2022-08-29 | 2022-09-27 | 太平金融科技服务(上海)有限公司深圳分公司 | 文件预览方法、装置、服务器、终端和存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11567978B2 (en) | Hybrid structured/unstructured search and query system | |
US9836544B2 (en) | Methods and systems for prioritizing a crawl | |
JP4812747B2 (ja) | 情報を取り込み抽出する方法及びシステム | |
AU2005231112B2 (en) | Methods and systems for structuring event data in a database for location and retrieval | |
CN102436513B (zh) | 分布式检索方法和系统 | |
US7580568B1 (en) | Methods and systems for identifying an image as a representative image for an article | |
US20050234929A1 (en) | Methods and systems for interfacing applications with a search engine | |
CN107103011B (zh) | 终端数据搜索的实现方法和装置 | |
US7412708B1 (en) | Methods and systems for capturing information | |
CN101388891A (zh) | 管理呈现实体的呈现信息的装置和方法 | |
WO2023092580A1 (zh) | 页面显示方法、装置、存储介质及电子设备 | |
KR101503268B1 (ko) | 시맨틱 클라이언트, 시맨틱 정보 관리 서버, 시맨틱 정보생성 방법, 시맨틱 정보 검색 방법 및 그 방법들을수행하기 위한 컴퓨터 기록매체 | |
CN110162412B (zh) | 在客户端进行数据操作的方法和装置 | |
CN114564451A (zh) | 基于java实现网盘中文件及标签的检索方法 | |
KR20140135114A (ko) | 정보 처리 장치, 및 그의 제어 방법 | |
CN110740046B (zh) | 分析服务契约的方法和装置 | |
CN113297139A (zh) | 元数据查询方法、系统及电子设备 | |
CN112699116A (zh) | 一种数据处理方法和系统 | |
US10318603B2 (en) | Reciprocal tags in social tagging | |
CN106777403B (zh) | 信息推送方法和装置 | |
JP2023002928A (ja) | 情報検索システム | |
JP2024509149A (ja) | ドキュメント処理方法、装置、機器及び媒体 | |
CN114281758A (zh) | 电子文档管理易存系统 | |
US20090144231A1 (en) | System and Method for Adding Search Keywords to Web Content | |
CN117575484A (zh) | 库存数据处理方法、装置、设备、介质和程序产品 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |