一种基于教育云操作系统的模糊搜索方法及装置转让专利

申请号 : CN201811259412.1

文献号 : CN109299376B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 孙悦李天驰李涛

申请人 : 深圳点猫科技有限公司

摘要 :

本发明公开了一种基于教育云操作系统的模糊搜索方法及装置,方法包括:监听到用户输入,获控制搜索延迟执行;获取用户输入的初始关键词进行过滤后,生成目标关键词;若目标关键词不为空,则遍历后台数据列表,获取用于匹配目标关键词的键值;与后台数据列表中的标题进行匹配;若匹配成功,则获取目标关键词的匹配进度;若目标关键词匹配结束,则获取后台数据列表的匹配进度;若后台数据列表匹配结束,则获取后台数据列表中所有目标关键词匹配成功的标题并显示,完成模糊搜索。本发明实施例在前端使用正则表达式,将关键词转化为正则表达式,在顺序匹配完成后,筛选出正确的列表项,占用内存小,提高模糊搜索效率。

权利要求 :

1.一种基于教育云操作系统的模糊搜索方法,其特征在于,所述方法包括:监听到用户输入,获取预先定义的搜索函数,控制搜索函数延迟预定时间阈值后执行;

获取用户输入的初始关键词,对初始关键词进行过滤后,生成目标关键词;

检测到目标关键词不为空,则遍历后台数据列表,根据预先设置的正则表达式获取用于匹配目标关键词的键值;

根据键值将目标关键词与后台数据列表中的标题进行匹配;

若检测到标题与目标关键词匹配成功,则获取目标关键词的匹配进度;

若检测到目标关键词匹配结束,则获取后台数据列表的匹配进度;

若检测到后台数据列表匹配结束,则获取所有目标关键词匹配成功的标题,将标题对应的数据列表中的目标关键词添加高亮标签,并显示对应的数据列表,完成模糊搜索;

其中,所述监听到用户输入,获取预先定义的搜索函数,控制搜索函数延迟预定时间阈值后执行,包括:开启键盘输入监听,并设置一个延时定时器,接收到用户输入时,清除延时定时器;

预先定义一个搜索函数,并加搜索函数放入延时定时器,延时预定时间阈值执行。

2.根据权利要求1所述基于教育云操作系统的模糊搜索方法,其特征在于,所述获取用户输入的初始关键词,对初始关键词进行过滤后,生成目标关键词,包括:获取用户输入的初始关键词,对初始词进行特殊字符过滤后,生成去除特殊符号的目标关键词。

3.根据权利要求2所述的基于教育云操作系统的模糊搜索方法,其特征在于,所述检测到目标关键词不为空,则遍历后台数据列表,根据预先设置的正则表达式获取用于匹配目标关键词的键值,包括:判断目标关键词是否为空,若为空,则判定当前输入为无效输入,提示用户重新输入;

若不为空,则定义一个正则表达式,遍历后台数据列表,根据定义的正则表达式获取用于匹配目标关键词的键值。

4.根据权利要求3所述的基于教育云操作系统的模糊搜索方法,其特征在于,所述若检测到标题与目标关键词匹配成功,则获取目标关键词的匹配进度,包括:判断后台数据列表中的标题与目标关键词匹配是否成功;

若检测到标题与目标关键词匹配成功,则获取目标关键词的匹配进度;

若检测到标题与目标关键词匹配不成功,则查询后台数据列表匹配是否结束,若匹配结束,则显示当前的匹配结果,若匹配未结束,则截取剩余的后台数据列表,继续匹配目标关键词,直到后台数据列表匹配结束。

5.根据权利要求1所述的基于教育云操作系统的模糊搜索方法,其特征在于,所述若检测到目标关键词匹配结束,则获取后台数据列表的匹配进度,包括:判断目标关键词匹配进度是否结束;

若检测到目标关键词匹配结束,则获取后台数据列表的匹配进度;

若检测到目标关键词匹配未结束,则截取目标关键词的剩余字段继续进行匹配,直到目标关键词的匹配结束。

6.根据权利要求1所述的基于教育云操作系统的模糊搜索方法,其特征在于,所述若检测到后台数据列表匹配结束,则获取所有目标关键词匹配成功的标题,将标题对应的数据列表中的目标关键词添加高亮标签,并显示对应的数据列表,完成模糊搜索,包括:判断后台数据列表是否匹配结束,

若后台数据列表匹配结束,则获取所有目标关键词匹配成功的标题,将标题对应的数据列表中的目标关键词添加高亮标签,并显示对应的数据列表,完成模糊搜索;

若后台数据列表匹配未结束,则截取后台数据列表中剩余的数据,重复执行根据键值将目标关键词与后台数据列表中的标题进行匹配,直到后台数据列表匹配结束后,获取所有目标关键词匹配成功的标题,将标题对应的数据列表中的目标关键词添加高亮标签,并显示对应的数据列表,完成模糊搜索。

7.一种基于教育云操作系统的模糊搜索装置,其特征在于,所述装置包括至少一个处理器;以及,与所述至少一个处理器通信连接的存储器;其中,

所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行权利要求1-6任一项所述的基于教育云操作系统的模糊搜索方法。

8.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现权利要求1-6任一项所述方法的步骤。

说明书 :

一种基于教育云操作系统的模糊搜索方法及装置

技术领域

[0001] 本发明涉及通信技术领域,尤其涉及一种基于教育云操作系统的模糊搜索方法及装置。

背景技术

[0002] 教育云操作系统是一种教育类操作系统,学生和家长可通过教育云操作系统进行网上互动,是一种方便快捷的在线教育学习系统。
[0003] 现有技术中教育云操作系统的模糊搜索是通过后端处理后返回搜索结果。后端需要做字序检索匹配,消耗大量的计算机内存,在搜索频率过快时,会导致计算机内存占用过多,计算机卡顿。
[0004] 因此,现有技术还有待于改进和发展。

发明内容

[0005] 鉴于上述现有技术的不足,本发明的目的在于提供一种基于教育云操作系统的模糊搜索方法及装置,旨在解决现有技术中的教育云操作系统的模糊搜索占用内存大的问题。
[0006] 本发明的技术方案如下:
[0007] 一种基于教育云操作系统的模糊搜索方法,所述方法包括:
[0008] 监听到用户输入,获取预先定义的搜索函数,控制搜索函数延迟预定时间阈值后执行;
[0009] 获取用户输入的初始关键词,对初始关键词进行过滤后,生成目标关键词;
[0010] 检测到目标关键词不为空,则遍历后台数据列表,根据预先设置的正则表达式获取用于匹配目标关键词的键值;
[0011] 根据键值将目标关键词与后台数据列表中的标题进行匹配;
[0012] 若检测到标题与目标关键词匹配成功,则获取目标关键词的匹配进度;
[0013] 若检测到目标关键词匹配结束,则获取后台数据列表的匹配进度;
[0014] 若检测到后台数据列表匹配结束,则获取所有目标关键词匹配成功的标题,将标题对应的数据列表中的目标关键词添加高亮标签,并显示对应的数据列表,完成模糊搜索。
[0015] 可选地,所述监听到用户输入,获取预先定义的搜索函数,控制搜索函数延迟预定时间阈值后执行,包括:
[0016] 开启键盘输入监听,并设置一个延时定时器,接收到用户输入时,清除延时定时器;
[0017] 预先定义一个搜索函数,并加搜索函数放入延时定时器,延时预定时间阈值执行。
[0018] 可选地,所述获取用户输入的初始关键词,对初始关键词进行过滤后,生成目标关键词,包括:
[0019] 获取用户输入的初始关键词,对初始词进行特殊字符过滤后,生成去除特殊符号的目标关键词。
[0020] 可选地,所述检测到目标关键词不为空,则遍历后台数据列表,根据预先设置的正则表达式获取用于匹配目标关键词的键值,包括:
[0021] 判断目标关键词是否为空,若为空,则判定当前输入为无效输入,提示用户重新输入;
[0022] 若不为空,则定义一个正则表达式,遍历后台数据列表,根据定义的正则表达式获取用于匹配目标关键词的键值。
[0023] 可选地,所述若检测到标题与目标关键词匹配成功,则获取目标关键词的匹配进度,包括:
[0024] 判断后台数据列表中的标题与目标关键词匹配是否成功;
[0025] 若检测到标题与目标关键词匹配成功,则获取目标关键词的匹配进度;
[0026] 若检测到标题与目标关键词匹配不成功,则查询后台数据列表匹配是否结束,若匹配结束,则显示当前的匹配结果,若匹配未结束,则截取剩余的后台数据列表,继续匹配目标关键词,直到后台数据列表匹配结束。
[0027] 可选地,所述若检测到目标关键词匹配结束,则获取后台数据列表的匹配进度,包括:
[0028] 判断目标关键词匹配进度是否结束;
[0029] 若检测到目标关键词匹配结束,则获取后台数据列表的匹配进度;
[0030] 若检测到目标关键词匹配未结束,则截取目标关键词的剩余字段继续进行匹配,直到目标关键词的匹配结束。
[0031] 可选地,所述若检测到后台数据列表匹配结束,则获取所有目标关键词匹配成功的标题,将标题对应的数据列表中的目标关键词添加高亮标签,并显示对应的数据列表,完成模糊搜索,包括:
[0032] 判断后台数据列表是否匹配结束,
[0033] 若后台数据列表匹配结束,则获取所有目标关键词匹配成功的标题,将标题对应的数据列表中的目标关键词添加高亮标签,并显示对应的数据列表,完成模糊搜索;
[0034] 若后台数据列表匹配未结束,则截取后台数据列表中剩余的数据,重复执行根据键值将目标关键词与后台数据列表中的标题进行匹配,直到后台数据列表匹配结束后,获取所有目标关键词匹配成功的标题,将标题对应的数据列表中的目标关键词添加高亮标签,并显示对应的数据列表,完成模糊搜索。
[0035] 本发明又一实施例还提供了一种基于教育云操作系统的模糊搜索装置,所述装置包括至少一个处理器;以及,
[0036] 与所述至少一个处理器通信连接的存储器;其中,
[0037] 所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行上述的基于教育云操作系统的模糊搜索方法。
[0038] 本发明的另一实施例还提供了一种非易失性计算机可读存储介质,其特征在于,所述非易失性计算机可读存储介质存储有计算机可执行指令,该计算机可执行指令被一个或多个处理器执行时,可使得所述一个或多个处理器执行上述的基于教育云操作系统的模糊搜索方法。
[0039] 本发明的另一种实施例提供了一种计算机程序产品,所述计算机程序产品包括存储在非易失性计算机可读存储介质上的计算机程序,所述计算机程序包括程序指令,当所述程序指令被处理器执行时,使所述处理器执行上述的基于教育云操作系统的模糊搜索方法。
[0040] 有益效果:本发明公开了一种基于教育云操作系统的模糊搜索方法及装置,本发明实施例中在前端使用正则表达式,将关键词转化为正则表达式,在顺序匹配完成后,筛选出正确的列表项;使用节流式方案对搜索结果进行节流处理,超过阈值没有发出第二次请求再对最后一次有效的输入结果进行搜索。

附图说明

[0041] 下面将结合附图及实施例对本发明作进一步说明,附图中:
[0042] 图1为本发明一种基于教育云操作系统的模糊搜索方法较佳实施例的流程图;
[0043] 图2为本发明一种基于教育云操作系统的模糊搜索装置较佳实施例的硬件结构示意图。

具体实施方式

[0044] 为使本发明的目的、技术方案及效果更加清楚、明确,以下对本发明进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。以下结合附图对本发明实施例进行介绍。
[0045] 请参阅图1,图1为本发明一种基于教育云操作系统的模糊搜索方法较佳实施例的流程图。如图1所示,其包括步骤:
[0046] 步骤S100、监听到用户输入,获取预先定义的搜索函数,控制搜索函数延迟预定时间阈值后执行;
[0047] 步骤S200、获取用户输入的初始关键词,对初始关键词进行过滤后,生成目标关键词;
[0048] 步骤S300、检测到目标关键词不为空,则遍历后台数据列表,根据预先设置的正则表达式获取用于匹配目标关键词的键值;
[0049] 步骤S400、根据键值将目标关键词与后台数据列表中的标题进行匹配;
[0050] 步骤S500、若检测到标题与目标关键词匹配成功,则获取目标关键词的匹配进度;
[0051] 步骤S600、若检测到目标关键词匹配结束,则获取后台数据列表的匹配进度;
[0052] 步骤S700、若检测到后台数据列表匹配结束,则获取所有目标关键词匹配成功的标题,将标题对应的数据列表中的目标关键词添加高亮标签,并显示对应的数据列表,完成模糊搜索。
[0053] 具体实施时,本发明实施例中的基于教育云操作系统的模糊搜索方法可用于具有搜索功能的电子设备,电子设备包括但不限于手机、平板、笔记本电脑、台式电脑等电子设备。
[0054] 进一步地,步骤S100包括:
[0055] 开启键盘输入监听,并设置一个延时定时器,接收到用户输入时,清除延时定时器;
[0056] 预先定义一个搜索函数,并加搜索函数放入延时定时器,延时预定时间阈值执行。
[0057] 具体实施时,开启键盘输入事件监听,设置一个延时定时器Timer-A,接收到用户输入,,清除延时定时器Timer-A;
[0058] 定义一个搜索函数Fun-A,将Fun-A放入延时定时器Timer-A,延时一定阈值执行,如果预定时间阈值为500ms,则搜索的操作会延时500ms进行,在此期间,如果进行了操作,则定时器会被清除,内置的函数将不会执行,此时会启动一个新的定时器,重新从500ms开始倒计时,500ms内没有新的用户输入时,开始继续下面步骤。
[0059] 进一步地,步骤S200具体包括:
[0060] 获取用户输入的初始关键词,对初始词进行特殊字符过滤后,生成去除特殊符号的目标关键词。
[0061] 具体实施时,模糊搜索不支持部分特殊符号检索,为了防止XSS脚本注入攻击,获取用户输入的初始关键词,对关键词进行特殊符号过滤,去除特殊符号得到新的关键词字段,新的关键词字段记为目标关键词。
[0062] 进一步地,步骤S300具体包括:
[0063] 判断目标关键词是否为空,若为空,则判定当前输入为无效输入,提示用户重新输入;
[0064] 若不为空,则定义一个正则表达式,遍历后台数据列表,根据定义的正则表达式获取用于匹配目标关键词的键值。
[0065] 具体实施时,提取目标关键词后,判断过滤后关键词是否有长度,若无长度(即为空),则判定当前输入为无效输入,提示用户重新输入;
[0066] 若关键词有长度,定义一个map,(这里的map是指映射),map通过正则表达式实现,因此定义一个正则表达式,根据正则表达式获取用于匹配目标关键词的键值。例如需要使用关键词匹配标题,那么应该取出对象中的的title字段。
[0067] 进一步地,步骤S500具体包括:
[0068] 判断后台数据列表中的标题与目标关键词匹配是否成功;
[0069] 若检测到标题与目标关键词匹配成功,则获取目标关键词的匹配进度;
[0070] 若检测到标题与目标关键词匹配不成功,则查询后台数据列表匹配是否结束,若匹配结束,则显示当前的匹配结果,若匹配未结束,则截取剩余的后台数据列表,继续匹配目标关键词,直到后台数据列表匹配结束。例如,关键词为我她走,后台数据列表为1、我和她走在小路上,2、我和她不走了、3、她和我走不动了,按顺序1和2将会匹配,3的字匹配正确,但是顺序不同,判定为语义不同,所述跳过第三条。因此1和2为匹配成功,3为匹配失败。
[0071] 具体实施时,使用正则表达式匹配标题,查询匹配是否成功,若匹配成功,则获取目标关键词的匹配进度,
[0072] 若匹配不成功,查询后台数据列表是否匹配结束,则查询后台数据列表是否匹配结束;若后台数据列表匹配结束,则遍历有效的数据列表,将关键词添加高亮标签,(将匹配的字符添加红色字体),显示列表,模糊搜索结束;若后台数据列表匹配未结束,则截取剩余的数据,重复使用正则表达式匹配标题,直到后台数据列表匹配结束。
[0073] 进一步地,步骤S600具体包括:
[0074] 判断目标关键词匹配进度是否结束;
[0075] 若检测到目标关键词匹配结束,则获取后台数据列表的匹配进度;
[0076] 若检测到目标关键词匹配未结束,则截取目标关键词的剩余字段继续进行匹配,直到目标关键词的匹配结束。
[0077] 具体实施时,判断目标关键词是否匹配结束,若匹配结束,获取后台数据列表的匹配进度;若匹配未结束,截取关键词剩余字段继续进行匹配,重复使用正则表达式匹配标题,直到匹配结束。
[0078] 进一步地,步骤S700具体包括:
[0079] 判断后台数据列表是否匹配结束,
[0080] 若后台数据列表匹配结束,则获取所有目标关键词匹配成功的标题,将标题对应的数据列表中的目标关键词添加高亮标签,并显示对应的数据列表,完成模糊搜索;
[0081] 若后台数据列表匹配未结束,则截取后台数据列表中剩余的数据,重复执行根据键值将目标关键词与后台数据列表中的标题进行匹配,直到后台数据列表匹配结束后,获取所有目标关键词匹配成功的标题,将标题对应的数据列表中的目标关键词添加高亮标签,并显示对应的数据列表,完成模糊搜索。
[0082] 具体实施时,查询后台数据列表是否匹配结束;若后台数据列表匹配结束,则遍历有效的数据列表,将关键词添加高亮标签,(将匹配的字符添加红色字体),显示搜索到的后台数据列表,模糊搜索结束;若后台数据列表匹配未结束,则截取剩余的数据,重复使用正则表达式匹配标题,直到后台数据列表匹配结束,遍历有效的数据列表,将关键词添加高亮标签,(将匹配的字符添加红色字体),显示搜索到的后台数据列表,模糊搜索结束,若未查找到有效的数据列表,则提示未搜索到与目标关键词相关的内容。
[0083] 由以上方法实施例可知,本发明实施例提供一种基于教育云操作系统的模糊搜索方法,在前端使用正则表达式,将关键词转化为正则表达式,在顺序匹配完成后,筛选出正确的列表项;使用节流式方案对搜索结果进行节流处理,超过阈值没有发出第二次请求再对最后一次有效的输入结果进行搜索。
[0084] 本发明另一实施例提供一种基于教育云操作系统的模糊搜索装置,如图2所示,装置10包括:
[0085] 一个或多个处理器110以及存储器120,图2中以一个处理器110为例进行介绍,处理器110和存储器120可以通过总线或者其他方式连接,图2中以通过总线连接为例。
[0086] 处理器110用于完成装置10的各种控制逻辑,其可以为通用处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、现场可编程门阵列(FPGA)、单片机、ARM(Acorn RISC Machine)或其它可编程逻辑器件、分立门或晶体管逻辑、分立的硬件组件或者这些部件的任何组合。还有,处理器110还可以是任何传统处理器、微处理器或状态机。处理器110也可以被实现为计算设备的组合,例如,DSP和微处理器的组合、多个微处理器、一个或多个微处理器结合DSP核、或任何其它这种配置。
[0087] 存储器120作为一种非易失性计算机可读存储介质,可用于存储非易失性软件程序、非易失性计算机可执行程序以及模块,如本发明实施例中的基于教育云操作系统的模糊搜索方法对应的程序指令。处理器110通过运行存储在存储器120中的非易失性软件程序、指令以及单元,从而执行装置10的各种功能应用以及数据处理,即实现上述方法实施例中的基于教育云操作系统的模糊搜索方法。
[0088] 存储器120可以包括存储程序区和存储数据区,其中,存储程序区可存储操作装置、至少一个功能所需要的应用程序;存储数据区可存储根据装置10使用所创建的数据等。此外,存储器120可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他非易失性固态存储器件。在一些实施例中,存储器120可选包括相对于处理器110远程设置的存储器,这些远程存储器可以通过网络连接至装置10。
上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
[0089] 一个或者多个单元存储在存储器120中,当被一个或者多个处理器110执行时,执行上述任意方法实施例中的基于教育云操作系统的模糊搜索方法,例如,执行以上描述的图1中的方法步骤S100至步骤S700。
[0090] 本发明实施例提供了一种非易失性计算机可读存储介质,计算机可读存储介质存储有计算机可执行指令,该计算机可执行指令被一个或多个处理器执行,例如,执行以上描述的图1中的方法步骤S100至步骤S700。
[0091] 作为示例,非易失性存储介质能够包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦ROM(EEPROM)或闪速存储器。易失性存储器能够包括作为外部高速缓存存储器的随机存取存储器(RAM)。通过说明丽非限制,RAM可以以诸如同步RAM(SRAM)、动态RAM、(DRAM)、同步DRAM(SDRAM)、双数据速率SDRAM(DDR SDRAM)、增强型SDRAM(ESDRAM)、Synchl ink DRAM(SLDRAM)以及直接Rambus(兰巴斯)RAM(DRRAM)之类的许多形式得到。本文中所描述的操作环境的所公开的存储器组件或存储器旨在包括这些和/或任何其他适合类型的存储器中的一个或多个。
[0092] 本发明的另一种实施例提供了一种计算机程序产品,计算机程序产品包括存储在非易失性计算机可读存储介质上的计算机程序,计算机程序包括程序指令,当程序指令被处理器执行时,使所述处理器执行上述方法实施例的基于教育云操作系统的模糊搜索方法。例如,执行以上描述的图1中的方法步骤S100至步骤S700。
[0093] 以上所描述的实施例仅仅是示意性的,其中作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际需要选择其中的部分或者全部模块来实现本实施例方案的目的。
[0094] 通过以上的实施例的描述,本领域的技术人员可以清楚地了解到各实施例可借助软件加通用硬件平台的方式来实现,当然也可以通过硬件实现。基于这样的理解,上述技术方案本质上或者说对相关技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存在于计算机可读存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机电子设备(可以是个人计算机,服务器,或者网络电子设备等)执行各个实施例或者实施例的某些部分的方法。
[0095] 除了其他之外,诸如"能够'、"能"、"可能"或"可以"之类的条件语言除非另外具体地陈述或者在如所使用的上下文内以其他方式理解,否则一般地旨在传达特定实施方式能包括(然而其他实施方式不包括)特定特征、元件和/或操作。因此,这样的条件语言一般地不旨在暗示特征、元件和/或操作对于一个或多个实施方式无论如何都是需要的或者一个或多个实施方式必须包括用于在有或没有学生输入或提示的情况下判定这些特征、元件和/或操作是否被包括或者将在任何特定实施方式中被执行的逻辑。
[0096] 已经在本文中在本说明书和附图中描述的内容包括能够提供智能柜定制方法及装置的示例。当然,不能够出于描述本公开的各种特征的目的来描述元件和/或方法的每个可以想象的组合,但是可以认识到,所公开的特征的许多另外的组合和置换是可能的。因此,显而易见的是,在不脱离本公开的范围或精神的情况下能够对本公开做出各种修改。此外,或在替代方案中,本公开的其他实施例从对本说明书和附图的考虑以及如本文中所呈现的本公开的实践中可能是显而易见的。意图是,本说明书和附图中所提出的示例在所有方面被认为是说明性的而非限制性的。尽管在本文中采用了特定术语,但是它们在通用和描述性意义上被使用并且不用于限制的目的。