文件搜索方法、装置及设备
技术领域
本发明涉及计算机技术领域,具体涉及一种文件搜索方法、装置及设备。
背景技术
随着计算机技术的高速发展,人们日常的工作和生活已经越来越离不开电脑和手机了,需要使用和管理的文件也越来越多。若通过人工方式进行文件查找,耗时长效率低。文件搜索系统应运而生,为用户查找文件提供了极大的便利。通过文件搜索系统查找文件时,用户只需要输入关键字,系统将返回相匹配的文件。
现有文件搜索系统通过将用户输入的关键字与文件名直接进行匹配,返回相匹配的文件。对于中文文件名来说,用户需要输入部分或者全部汉字才可以查找到相应的文件,操作不便。
发明内容
本发明实施例提供一种文件搜索方法、装置及设备,用以解决现有文件搜索方法不支持通过拼音搜索中文文件名的问题。
第一方面,本发明实施例提供一种文件搜索方法,包括:
获取进行文件搜索的搜索信息和搜索范围;
若所述搜索信息包括字母但不包括汉字时,确定所述搜索范围内各文件的文件名、拼音全拼文件名和拼音缩写文件名;
将所述搜索信息与所述搜索范围内各文件的文件名、拼音全拼文件名和拼音缩写文件名分别进行匹配,返回匹配成功的文件的相关信息。
一种实施例中,所述方法还包括:
若所述搜索信息包括汉字时,确定所述搜索信息对应的拼音全拼搜索信息和拼音缩写搜索信息;
将所述搜索信息、所述拼音全拼搜索信息和所述拼音缩写搜索信息分别与所述搜索范围内各文件的文件名进行匹配,返回匹配成功的文件的相关信息。
一种实施例中,所述方法还包括:
若所述搜索信息为“.”时,则获取所述搜索范围内各文件的主文件名;
将所述搜索信息与所述主文件名进行匹配,返回匹配成功的文件的相关信息。
一种实施例中,所述获取进行文件搜索的搜索信息和搜索范围之前,所述方法还包括:
创建文件信息数据库,所述文件信息数据库至少包括文件的文件路径、文件名、拼音全拼文件名和拼音缩写文件名。
一种实施例中,所述确定所述搜索范围内各文件的文件名、拼音全拼文件名和拼音缩写文件名包括:
根据所述搜索范围从所述文件信息数据库中获取所述搜索范围内各文件的文件名、拼音全拼文件名和拼音缩写文件名。
一种实施例中,所述方法还包括:
当新增文件、删除文件或者修改文件时,更新所述文件信息数据库。
一种实施例中,所述搜索范围根据搜索路径、文件类型、用户标识和应用程序名称中的一种或者多种确定。
第二方面,本发明实施例提供一种文件搜索装置,包括:
输入模块,用于获取进行文件搜索的搜索信息和搜索范围;
处理模块,用于若所述搜索信息包括字母但不包括汉字时,确定所述搜索范围内各文件的文件名、拼音全拼文件名和拼音缩写文件名;
搜索模块,用于将所述搜索信息与所述搜索范围内各文件的文件名、拼音全拼文件名和拼音缩写文件名分别进行匹配,返回匹配成功的文件的相关信息。
第三方面,本发明实施例提供一种电子设备,包括:
至少一个处理器和存储器;
存储器存储计算机执行指令;
至少一个处理器执行存储器存储的计算机执行指令,使得至少一个处理器执行如第一方面任一项所述的文件搜索方法。
第四方面,本发明实施例提供一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机执行指令,计算机执行指令被处理器执行时用于实现如第一方面任一项所述的文件搜索方法。
本发明实施例提供的文件搜索方法、装置及设备,通过获取进行文件搜索的搜索信息和搜索范围,在搜索信息包括字母但不包括汉字时,确定搜索范围内各文件的文件名、拼音全拼文件名和拼音缩写文件名;将搜索信息与搜索范围内各文件的文件名、拼音全拼文件名和拼音缩写文件名分别进行匹配,返回匹配成功的文件的相关信息。通过将搜索信息与拼音全拼文件名和拼音缩写文件名分别进行匹配,实现了通过拼音搜索中文文件名的功能,简化了进行文件搜索的操作,提高了搜索效率。
附图说明
图1为本发明提供的文件搜索方法一实施例的流程图;
图2为本发明提供的文件搜索方法又一实施例的流程图;
图3为本发明提供的文件搜索装置一实施例的结构示意图;
图4为本发明提供的电子设备一实施例的结构示意图。
具体实施方式
下面通过具体实施方式结合附图对本发明作进一步详细说明。其中不同实施方式中类似元件采用了相关联的类似的元件标号。在以下的实施方式中,很多细节描述是为了使得本申请能被更好的理解。然而,本领域技术人员可以毫不费力的认识到,其中部分特征在不同情况下是可以省略的,或者可以由其他元件、材料、方法所替代。在某些情况下,本申请相关的一些操作并没有在说明书中显示或者描述,这是为了避免本申请的核心部分被过多的描述所淹没,而对于本领域技术人员而言,详细描述这些相关操作并不是必要的,他们根据说明书中的描述以及本领域的一般技术知识即可完整了解相关操作。
另外,说明书中所描述的特点、操作或者特征可以以任意适当的方式结合形成各种实施方式。同时,方法描述中的各步骤或者动作也可以按照本领域技术人员所能显而易见的方式进行顺序调换或调整。因此,说明书和附图中的各种顺序只是为了清楚描述某一个实施例,并不意味着是必须的顺序,除非另有说明其中某个顺序是必须遵循的。
本文中为部件所编序号本身,例如“第一”、“第二”等,仅用于区分所描述的对象,不具有任何顺序或技术含义。而本申请所说“连接”、“联接”,如无特别说明,均包括直接和间接连接(联接)。
需要说明的是,本发明实施例提供的文件搜索方法可以应用于任何需要进行文件搜索的设备中,包括但不限于用户侧设备和网络侧设备。其中,用户侧设备例如可以是计算机、智能手机、平板电脑和个人数字助理等;网络侧设备例如可以是网络附属存储(NetworkAttached Storage,简称:NAS)设备、网络服务器和基于云计算的由大量计算机或网络服务器构成的服务器组等。
图1为本发明提供的文件搜索方法一实施例的流程图。如图1所示,本实施例提供的文件搜索方法可以包括:
S101、获取进行文件搜索的搜索信息和搜索范围。
当本实施例提供的方法应用于用户侧设备时,用于进行文件搜索的搜索信息可以是通过设备的输入装置如键盘、鼠标或者触控屏等获取到的用户输入的搜索关键字;当本实施例提供的方法应用于网络侧设备时,用于进行文件搜索的搜索信息可以是通过设备的通信装置接收到的搜索关键字。本实施例还支持通过语音进行文件搜索,例如可以通过麦克风采集语音信息,通过对采集到的语音信息进行语音识别,以获取用于进行文件搜索的搜索信息。
本实施例中用于进行文件搜索的搜索范围可以根据搜索路径、文件类型、用户标识和应用程序名称中的一种或者多种确定。其中,搜索路径可以采用盘符、文件存储路径等表示,例如搜索范围可以表示为C:\、C:\system等;文件类型可以包括图片、视频、音频和文档等,也可以采用扩展文件名表示,例如搜索范围可以为本机中的所有图片文件、本机中的所有doc文件等;用户标识用于标识不同的用户,例如当设备支持多用户时,搜索范围可以为归属于某一用户的文件;当设备中安装有多个应用程序时,可以以应用程序为单位进行文件搜索,例如搜索范围可以为微信中的所有文件。还可以将搜索路径、文件类型、用户标识和应用程序名称进行组合以确定搜索范围,例如搜索范围可以为归属于用户A的所有图片文件。需要说明的是,用于进行文件搜索的搜索范围通常无需用户手动输入,而是可以根据用户输入搜索信息的上下文确定。以计算机为例,当用户在D盘进行文件搜索时,搜索范围可以为D盘中的所有文件;以智能手机为例,当用户进行图片搜索时,搜索范围即为智能手机中的所有图片文件。
S102、若所述搜索信息包括字母但不包括汉字时,确定所述搜索范围内各文件的文件名、拼音全拼文件名和拼音缩写文件名。
本实施例中在获取进行文件搜索的搜索信息之后,针对包括字母但不包括汉字的情况,也就是说搜索信息可以是字母、字母与数字的组合或者字母、数字和符号的组合,需要确定搜索范围内各文件的文件名、拼音全拼文件名和拼音缩写文件名。
在一种可选的实施方式中,可以先获取搜索范围内所有文件的文件名,然后分别确定各文件名对应的拼音全拼文件名和拼音缩写文件名。其中,拼音全拼文件名可以将文件名中的中文替换为相对应的拼音全拼来构成,而拼音缩写文件名可以将文件名中的中文替换为相对应的拼音首字母来构成。当文件名中不包括中文时,则文件名、拼音全拼文件名和拼音缩写文件名相同。表1为一实施例提供的文件名、拼音全拼文件名和拼音缩写文件名之间的对应关系表。表1中的文件名仅做示例,并不以此为限。
表1
文件名 |
拼音全拼文件名 |
拼音缩写文件名 |
新建文件.txt |
xinjianwenjian.txt |
xjwj.txt |
专利分析.doc |
zhuanlifenxi.doc |
zlfx.doc |
通讯录200.xls |
tongxunlu200.xls |
txl200.xls |
检索报告.pdf |
jiansuobaogao.pdf |
jsbg.pdf |
Report.ppt |
Report.ppt |
Report.ppt |
在另一种可选的实施方式中,可以从预先创建的文件信息数据库中获取搜索范围内各文件的文件名、拼音全拼文件名和拼音缩写文件名。文件信息数据库至少需要包括文件的文件路径、文件名、拼音全拼文件名和拼音缩写文件名之间的对应关系。
S103、将所述搜索信息与所述搜索范围内各文件的文件名、拼音全拼文件名和拼音缩写文件名分别进行匹配,返回匹配成功的文件的相关信息。
本实施例中在确定搜索范围内各文件的文件名、拼音全拼文件名和拼音缩写文件名之后,将搜索信息与搜索范围内各文件的文件名、拼音全拼文件名和拼音缩写文件名分别进行匹配,便可以实现通过拼音搜索中文文件名。搜索信息只要与文件的文件名、拼音全拼文件名和拼音缩写文件名中的一项相匹配,即表示匹配成功。本实施例对于进行匹配的顺序不做限制。例如在进行匹配时,可以先将搜索信息与文件名进行匹配,若匹配成功,则直接返回该文件的相关信息;若匹配失败,则继续将搜索信息与拼音全拼文件名进行匹配,若匹配成功,则返回该文件的相关信息;若匹配失败,则继续将搜索信息与拼音缩写文件名进行匹配,若匹配成功,则返回该文件的相关信息。本实施例中的匹配成功包括部分匹配和全部匹配。本实施例中返回的文件的相关信息包括但不限于文件名、文件类型、存储路径、修改日期和文件大小等。
以表1举例来说,当用户想要查找文件“新建文件.txt”时,现有文件搜索方法中用户需要输入文件名中的部分汉字如“新建”或者文件名中的全部汉字如“新建文件”才可以匹配到相应的文件,对用户来说操作不便。而采用本实施例提供的文件搜索方法,用户输入“xj”、“xinjian”、“xjwj”或者“xinjianwenjian”均可以成功匹配到相应的文件,操作简便。尤其是当文件名中包括生僻汉字时,若采用现有文件搜索方法若输错了汉字,则无法查找到相应的文件,而采用本实施例的文件搜索方法则可以避免该问题的出现。
本实施例提供的文件搜索方法,针对包括字母但不包括汉字的搜索信息,通过将搜索信息与搜索范围内各文件的文件名、拼音全拼文件名和拼音缩写文件名分别进行匹配,实现了通过拼音搜索中文文件名的功能,简化了进行文件搜索的操作,提高了搜索效率。
在上述实施例的基础上,本实施例提供的文件搜索方法还可以包括:若所述搜索信息包括汉字时,确定所述搜索信息对应的拼音全拼搜索信息和拼音缩写搜索信息;将所述搜索信息、所述拼音全拼搜索信息和所述拼音缩写搜索信息分别与所述搜索范围内各文件的文件名进行匹配,返回匹配成功的文件的相关信息。
其中,搜索信息对应的拼音全拼搜索信息可以通过将搜索信息中包括的汉字替换为相对应的拼音全拼;搜索信息对应的拼音缩写搜索信息可以通过将搜索信息中包括的汉字替换为相对应的拼音首字母。表2为一实施例提供的搜索信息、拼音全拼搜索信息和拼音缩写搜索信息之间的对应关系表。
表2
搜索信息 |
拼音全拼搜索信息 |
拼音缩写搜索信息 |
新建 |
xinjian |
xj |
新jian |
xinjian |
xj |
中一 |
zhongyi |
zy |
中yi |
zhongyi |
zy |
当搜索范围内包括以下文件时:新建文件.txt、xinjianwenjian1.txt、xjwj2.txt和xinjianwj3。若采用现有文件搜索方法,当用户输入搜索信息“新建”时,仅会返回“新建文件.txt”一个文件;而采用本实施例提供的文件搜索方法,将会返回新建文件.txt、xinjianwenjian1.txt、xjwj2.txt和xinjianwj3。
本实施例提供的文件搜索方法,通过对搜索信息进行扩展,获取搜索信息对应的拼音全拼搜索信息和拼音缩写搜索信息进行匹配,能够最大程度的匹配用户的实际意图,使得用户能够快速地找到目标文件,大大提升了操作体验。
现有文件搜索方法中,当用户输入“.”关键字时,会与文件后缀名中的“.”相匹配,将会返回搜索范围内除隐藏文件外的所有文件的相关信息,匹配结果过多,无法匹配用户的实际意图。为了避免出现上述情况,在上述实施例的基础上,本实施例提供的文件搜索方法还可以包括:若所述搜索信息为“.”时,则获取所述搜索范围内各文件的主文件名;将所述搜索信息与所述主文件名进行匹配,返回匹配成功的文件的相关信息。
针对搜索信息为“.”的情况,获取搜索范围内各文件的主文件名,本实施例中包括获取搜索范围内所有隐藏文件和所有非隐藏文件的主文件名。文件名通常由主文件名和扩展文件名(即后缀名)组成,将搜索信息仅与主文件名进行匹配,避免了出现“.”关键字与后缀名中的“.”相匹配而导致匹配结果过多的情况,且本实施例提供的文件搜索方法可以返回以字符“.”开头的隐藏文件。
下面将通过一个具体的示例来说明,如何针对搜索信息的各种不同情况进行文件搜索。请参考图2,图2为本发明提供的文件搜索方法又一实施例的流程图。如图2所示,本实施例提供的文件搜索方法可以包括:
S201、获取进行文件搜索的搜索信息和搜索范围。
S202、判断搜索信息是否包括汉字。若是,则执行步骤S203;若否,则执行步骤S205。
S203、确定搜索信息对应的拼音全拼搜索信息和拼音缩写搜索信息。
S204、将搜索信息、拼音全拼搜索信息和拼音缩写搜索信息分别与搜索范围内各文件的文件名进行匹配。
S205、判断搜索信息是否包括字母。若是,则执行步骤S206;若否,则执行步骤S208。
S206、确定搜索范围内各文件的文件名、拼音全拼文件名和拼音缩写文件名。
S207、将搜索信息与搜索范围内各文件的文件名、拼音全拼文件名和拼音缩写文件名分别进行匹配。
S208、判断搜索信息是否为“.”。若是,则执行步骤S209;若否,则执行步骤S211。
S209、获取搜索范围内各文件的主文件名。
S210、将搜索信息与主文件名进行匹配。
S211、将搜索信息与搜索范围内各文件的文件名进行匹配。
S212、返回匹配成功的文件的相关信息。
本实施例提供的文件搜索方法,针对各种不同情况下的搜索信息,采用不同的搜索策略进行文件搜索,简化了操作,提高了效率。
在上述任一实施例的基础上,为了进一步提高文件搜索的效率,加快文件搜索的速度,本实施例中可以通过创建文件信息数据库提供搜索范围内各文件的文件名、拼音全拼文件名和拼音缩写文件名。本实施例提供的文件搜索方法,在获取进行文件搜索的搜索信息和搜索范围之前,还可以包括:创建文件信息数据库,所述文件信息数据库至少包括文件的文件路径、文件名、拼音全拼文件名和拼音缩写文件名。
一种可选的实施方式中,文件信息数据库可以采用关系型数据库,可以将一个文件节点信息作为一条记录写入文件信息数据库中,一个文件节点信息包括但不限于以下信息:文件路径、归属用户、父目录ID、文件名、拼音缩写文件名、拼音全拼文件名和其它附加属性。
在创建文件信息数据库之后,便可以根据搜索范围直接从文件信息数据库中获取搜索范围内各文件的文件名、拼音全拼文件名和拼音缩写文件名,可以有效地提高文件搜索的速度。
为了确保文件搜索的准确性,需要对文件信息数据库进行实时更新。即当新增文件、删除文件或者修改文件时,更新文件信息数据库。当新增文件时,可以在文件信息数据库中增加相应的记录;当删除文件时,可以在文件信息数据库中删除相应的记录;当修改文件时,可以在文件信息库中对相应记录中的信息进行修改。
图3为本发明提供的文件搜索装置一实施例的结构示意图。如图3所示,本实施例提供的文件搜索装置30可以包括:输入模块301、处理模块302和搜索模块303。
输入模块301,用于获取进行文件搜索的搜索信息和搜索范围;
处理模块302,用于若所述搜索信息包括字母但不包括汉字时,确定所述搜索范围内各文件的文件名、拼音全拼文件名和拼音缩写文件名;
搜索模块303,用于将所述搜索信息与所述搜索范围内各文件的文件名、拼音全拼文件名和拼音缩写文件名分别进行匹配,返回匹配成功的文件的相关信息。
本实施例提供的文件搜索装置可用于执行图1对应的方法实施例的技术方案,其实现原理和技术效果类似,此处不再赘述。
一种实施例中,处理模块302还用于若所述搜索信息包括汉字时,确定所述搜索信息对应的拼音全拼搜索信息和拼音缩写搜索信息;搜索模块303还用于将所述搜索信息、所述拼音全拼搜索信息和所述拼音缩写搜索信息分别与所述搜索范围内各文件的文件名进行匹配,返回匹配成功的文件的相关信息。
一种实施例中,处理模块302还用于若所述搜索信息为“.”时,则获取所述搜索范围内各文件的主文件名;搜索模块303还用于将所述搜索信息与所述主文件名进行匹配,返回匹配成功的文件的相关信息。
一种实施例中,处理模块302还用于在获取进行文件搜索的搜索信息和搜索范围之前,创建文件信息数据库,所述文件信息数据库至少包括文件的文件路径、文件名、拼音全拼文件名和拼音缩写文件名。
一种实施例中,处理模块302用于确定搜索范围内各文件的文件名、拼音全拼文件名和拼音缩写文件名具体可以包括:根据所述搜索范围从所述文件信息数据库中获取所述搜索范围内各文件的文件名、拼音全拼文件名和拼音缩写文件名。
一种实施例中,处理模块302还用于当新增文件、删除文件或者修改文件时,更新所述文件信息数据库。
一种实施例中,搜索范围可以根据搜索路径、文件类型、用户标识和应用程序名称中的一种或者多种确定。
本发明实施例还提供一种电子设备,请参见图4所示,本发明实施例仅以图4为例进行说明,并不表示本发明仅限于此。图4为本发明提供的电子设备一实施例的结构示意图。本实施例提供的电子设备包括但不限于:计算机、智能手机、平板电脑、个人数字助理、服务器和服务器组。如图4所示,本实施例提供的电子设备40可以包括:存储器401、处理器402和总线403。其中,总线403用于实现各元件之间的连接。
存储器401中存储有计算机程序,计算机程序被处理器402执行时可以实现上述任一方法实施例提供的文件搜索方法的技术方案。
其中,存储器401和处理器402之间直接或间接地电性连接,以实现数据的传输或交互。例如,这些元件相互之间可以通过一条或者多条通信总线或信号线实现电性连接,如可以通过总线403连接。存储器401中存储有实现文件搜索方法的计算机程序,包括至少一个可以软件或固件的形式存储于存储器401中的软件功能模块,处理器402通过运行存储在存储器401内的软件程序以及模块,从而执行各种功能应用以及数据处理。
存储器401可以是,但不限于,随机存取存储器(Random Access Memory,简称:RAM),只读存储器(Read Only Memory,简称:ROM),可编程只读存储器(ProgrammableRead-Only Memory,简称:PROM),可擦除只读存储器(Erasable Programmable Read-OnlyMemory,简称:EPROM),电可擦除只读存储器(Electric Erasable Programmable Read-Only Memory,简称:EEPROM)等。其中,存储器401用于存储程序,处理器402在接收到执行指令后,执行程序。进一步地,上述存储器401内的软件程序以及模块还可包括操作系统,其可包括各种用于管理系统任务(例如内存管理、存储设备控制、电源管理等)的软件组件和/或驱动,并可与各种硬件或软件组件相互通信,从而提供其他软件组件的运行环境。
处理器402可以是一种集成电路芯片,具有信号的处理能力。上述的处理器402可以是通用处理器,包括中央处理器(Central Processing Unit,简称:CPU)、网络处理器(Network Processor,简称:NP)等。可以实现或者执行本发明实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。可以理解,图4的结构仅为示意,还可以包括比图4中所示更多或者更少的组件,或者具有与图4所示不同的配置。图4中所示的各组件可以采用硬件和/或软件实现。
本文参照了各种示范实施例进行说明。然而,本领域的技术人员将认识到,在不脱离本文范围的情况下,可以对示范性实施例做出改变和修正。例如,各种操作步骤以及用于执行操作步骤的组件,可以根据特定的应用或考虑与系统的操作相关联的任何数量的成本函数以不同的方式实现(例如一个或多个步骤可以被删除、修改或结合到其他步骤中)。
另外,如本领域技术人员所理解的,本文的原理可以反映在计算机可读存储介质上的计算机程序产品中,该可读存储介质预装有计算机可读程序代码。任何有形的、非暂时性的计算机可读存储介质皆可被使用,包括磁存储设备(硬盘、软盘等)、光学存储设备(CD-ROM、DVD、Blu Ray盘等)、闪存和/或诸如此类。这些计算机程序指令可被加载到通用计算机、专用计算机或其他可编程数据处理设备上以形成机器,使得这些在计算机上或其他可编程数据处理装置上执行的指令可以生成实现指定的功能的装置。这些计算机程序指令也可以存储在计算机可读存储器中,该计算机可读存储器可以指示计算机或其他可编程数据处理设备以特定的方式运行,这样存储在计算机可读存储器中的指令就可以形成一件制造品,包括实现指定功能的实现装置。计算机程序指令也可以加载到计算机或其他可编程数据处理设备上,从而在计算机或其他可编程设备上执行一系列操作步骤以产生一个计算机实现的进程,使得在计算机或其他可编程设备上执行的指令可以提供用于实现指定功能的步骤。
以上应用了具体个例对本发明进行阐述,只是用于帮助理解本发明,并不用以限制本发明。对于本发明所属技术领域的技术人员,依据本发明的思想,还可以做出若干简单推演、变形或替换。