System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本专利技术涉及云盘数据全文检索,尤其涉及一种流式读取和优化lru算法全文检索方法及装置。
技术介绍
1、随着大数据和人工智能技术的不断发展,全文检索技术在很多领域得到广泛应用,例如:星图地球云盘系统,系统中存在着非常庞大的文件数据量,用户使用时,需要云盘系统基于文件名和文件内容进行全文检索,帮助用户快速寻找目标文件和词汇,获取需要的数据。
2、现有云盘系统进行全文检索时,往往存在,占用磁盘空间大,过程比较耗时等问题。
3、申请号为202310847558.2的专利文献公开一种数据库全文检索处理方法和系统,该方法通过本申请解决了在数据库使用全文检索时有时会出现检索结果与检索用的查询条件不匹配的问题,从而提高了检索结果的精准度。但其同时存在,1、对多类型文件全文搜索不支持;2、没有基于流式文件读取进行检索,耗时间长,占有存储空间大;3、对热词检索没有优化,过程比较耗时,等问题。
4、基于此,现实中需要一种全文检索方法,可以基于流式读取和lru优化算法下进行全文检索,帮助用户快速寻找目标文件,提升云盘系统的整体使用体验。
技术实现思路
1、基于上述问题,本专利技术的目的在于提供一种流式读取和优化lru算法全文检索方法及装置,提高有户云盘系统全文检索效率和速度,提升云盘整体使用体验。
2、本专利技术实施例提供一种流式读取和优化lru算法全文检索方法及装置。
3、第一方面:一种流式读取和优化lru算法全文检索方法,包括:
5、s2、依文件类型对文件进行解析器解析,获取文件流;
6、s3、利用文件流进行词汇全文检索查询,获取词汇查询数据;
7、s4、依据词汇查询频率,确定查询热词,对热词查询数据进行redis缓存;
8、s5、利用优化lru算法更新redis缓存的热词查询数据;
9、s6、再次进行热词查询时,调用redis缓存的热词查询数据。
10、进一步地,文件类型包括doc、docx、xlsx、xls、json、sql、txt、md、pdf、ppt和pptx文件类型。
11、进一步地,
12、doc和docx采用word解析器解;
13、xlsx和xls采用xlsx解析器;
14、json、sql、txt和md采用md解析器;
15、pdf采用pdf解析器;
16、ppt和pptx采用ppt解析器。
17、进一步地,所述s1中获取的文件流在内存buffer缓存时,循环更新内存buffer缓存。
18、进一步地,所述s4中利用优化lru算法更新redis缓存的热词查询数据,包括:
19、构建一个hash数据表作为lru链表,hash数据表key-value记录热词节点及最近访问的时间戳;
20、新增热词时,把热词对应的key-value存入hash数据表;
21、hash数据表满时,查询hash表中最小时间戳的key-value并进行删除。
22、进一步地,用户利用检索引擎进行全文检索时,登录账号userid与热词查询数据绑定。
23、第二方面:一种流式读取和优化lru算法全文检索装置,包括:
24、匹配模块,获取文件链接,区分文件类型;
25、解析模块,依文件类型进行解析器解析,获取文件流;
26、检索模块,利用文件流进行词汇全文检索查询,获取词汇查询数据;
27、缓存模块,对热词查询数据进行redis缓存;
28、查询模块,利用优化lru算法更新redis缓存的热词查询数据,再次进行热词查询时,调用redis缓存的热词查询数据。
29、第三方面:一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如第一方面所提供的方法的步骤。
30、第四方面:一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现如第一方面所提供的方法的步骤。
31、本专利技术的有益效果:
32、1、本专利技术结合文件流式读取技术,利用文件内容解析器对目标文件读取时转换为文件流,解析器采用后端统一封装各个类型文件的文件流读取方法,对外暴露出单一策略模式接口实现对常见文件如txt、word、pdf、markdown等十多种文件内容的直接读取,避免了中途的文件下载与磁盘写入,有效加快了文件内容的读取速度,提高了云盘全文检索服务读取性能,避免不必要的磁盘空间占用,提高了有户云盘系统全文检索效率和速度,提升云盘整体使用体验。
33、2、本专利技术全文检索中利用redis缓存作为热词缓存中间件,基于hash的lru策略算法的自研优化方案,通过redis实现高效的lru算法,提升redis缓存在高并发场景下的稳定性。
本文档来自技高网...【技术保护点】
1.一种流式读取和优化LRU算法全文检索方法,其特征在于,包括:
2.根据权利要求1所述的一种流式读取和优化LRU算法全文检索方法,其特征在于,文件类型包括doc、docx、xlsx、xls、json、sql、txt、md、pdf、ppt和pptx文件类型。
3.根据权利要求2所述的一种流式读取和优化LRU算法全文检索方法,其特征在于,
4.根据权利要求1所述的一种流式读取和优化LRU算法全文检索方法,其特征在于,所述S1中获取的文件流在内存Buffer缓存时,循环更新内存Buffer缓存。
5.根据权利要求1所述的一种流式读取和优化LRU算法全文检索方法,其特征在于,所述S4中利用优化LRU算法更新Redis缓存的热词查询数据,包括:
6.根据权利要求1所述的一种流式读取和优化LRU算法全文检索方法,其特征在于,用户利用检索引擎进行全文检索时,登录账号userId与热词查询数据绑定。
7.一种应用于权利要求1至6任一项所述方法的流式读取和优化LRU算法全文检索装置,其特征在于,所述装置包括:
8
9.一种非暂态计算机可读存储介质,其上存储有计算机程序,其特征在于,该计算机程序被处理器执行时实现如权利要求1至6中任一项所述的一种流式读取和优化LRU算法全文检索方法的步骤。
...【技术特征摘要】
1.一种流式读取和优化lru算法全文检索方法,其特征在于,包括:
2.根据权利要求1所述的一种流式读取和优化lru算法全文检索方法,其特征在于,文件类型包括doc、docx、xlsx、xls、json、sql、txt、md、pdf、ppt和pptx文件类型。
3.根据权利要求2所述的一种流式读取和优化lru算法全文检索方法,其特征在于,
4.根据权利要求1所述的一种流式读取和优化lru算法全文检索方法,其特征在于,所述s1中获取的文件流在内存buffer缓存时,循环更新内存buffer缓存。
5.根据权利要求1所述的一种流式读取和优化lru算法全文检索方法,其特征在于,所述s4中利用优化lru算法更新redis缓存的热词查询数据,包括:...
【专利技术属性】
技术研发人员:房效亮,胡飞,熊兆,
申请(专利权)人:中科星图数字地球合肥有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。