具体实施方式
为了使本领域普通人员更好地理解本公开的技术方案,下面将结合附图,对本公开实施例中的技术方案进行清楚、完整地描述。
需要说明的是,本公开的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本公开的实施例能够以除了在这里图示或描述的那些以外的顺序实施。以下示例性实施例中所描述的实施方式并不代表与本公开相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本公开的一些方面相一致的装置和方法的例子。
下面参考附图描述本公开实施例的数据检索方法及装置。图1是本公开第一实施例所示出的数据检索方法的流程示意图。需要说明的是,在本公开实施例中,该数据检索方法可应用于服务端。
如图1所示,该数据检索方法可以包括以下步骤:
步骤101,接收客户端发送的目标搜索请求。
作为本公开实施例的一种可能的实现方式,客户端可根据用户输入的搜索信息生成目标搜索请求,并将该目标搜索请求发送至服务端。比如,用户可在客户端的应用程序的主界面的搜索框中,输入搜索信息,用户在输入搜索信息后,可点击搜索框对应的搜索按钮,从而可触发客户端生成对应的目标搜索请求,并向服务端发送该目标搜索请求,服务端可接收到客户端发送的目标搜索请求。
步骤102,从目标搜索请求中提取至少一个第一关键字。
作为一种示例,可基于自然语言处理技术对目标搜索请求进行分词,以得到该目标搜索请求对应的至少一个分词,从该至少一个分词中,选择至少一个第一关键字。比如,可将至少一个分词与设定的关键词库进行匹配,以从至少一个分词中,选择出至少一个第一关键字;又比如,可根据至少一个分词中的每个分词的词性,从该至少一个分词中,选择出至少一个第一关键字。如,从至少一个分词中选择出词性为名词的分词,作为至少一个第一关键字。
步骤103,根据至少一个第一关键字,查询设定的索引列表,以确定索引列表中是否存在与至少一个第一关键字匹配的目标索引。
其中,索引列表中包括多个索引,索引是根据参考搜索请求对应的至少一个第二关键字生成的。
进而,采用至少一个第一关键字,查询设定的索引列表,以确定该索引列表中是否存在与至少一个第一关键字匹配的目标索引。
步骤104,在索引列表中存在与至少一个第一关键字匹配的目标索引时,根据目标索引进行数据检索,以获取与目标索引匹配的至少一个目标数据。
作为一种示例,在索引列表中存在与至少一个第一关键字匹配的目标索引时,可采用目标索引进行数据检索,获取与该目标索引匹配的至少一个目标数据。
作为另一种示例,在索引列表中不存在与至少一个第一关键字匹配的目标索引时,则搜索结果为空。
综上,通过接收客户端发送的目标搜索请求;从目标搜索请求中提取至少一个第一关键字;根据至少一个第一关键字,查询设定的索引列表,以确定索引列表中是否存在与至少一个第一关键字匹配的目标索引,其中,索引列表中包括多个索引,索引是根据参考搜索请求对应的至少一个第二关键字生成的;在索引列表中存在与所述至少一个第一关键字匹配的目标索引时,根据目标索引进行数据检索,以获取与目标索引匹配的至少一个目标数据,由此,在进行数据检索时,先查询是否存在与目标搜素请求中的至少一个第一关键字匹配的目标索引,在存在目标索引时,根据目标索引进行数据检索,可快速获取到与目标搜索请求匹配的至少一个目标数据,提升了数据检索效率和准确性。
为了清楚地说明上述实施例中是如何生成索引列表的,本公开提出另一种数据检索方法。
图2是本公开第二实施例所示出的数据检索方法的流程示意图。需要说明的是,本公开实施例的数据检索方法可应用于服务端。
如图2所示,该数据检索方法可包括如下步骤:
步骤201,接收客户端发送的多个参考搜索请求。
作为本公开实施例的一种可能的实现方式,相关技术人员可在客户端输入多个搜索信息,客户端根据多个搜索信息中的请求参数信息,生成多个参考搜索请求,进而,客户端可向服务端发送多个参考搜索请求。
作为本公开实施例的另一种可能的实现方式,相关技术人员可在服务端的搜索引擎的数据采集接口输入相关的多个请求参数信息,数据采集接口根据多个参数信息生成多个参考搜索请求。
步骤202,针对多个参考搜索请求中的任一参考搜索请求,根据任一参考搜索请求,生成与任一参考搜索请求对应的索引。
可选地,响应于任一参考搜索请求,从设定的数据源中获取与任一参考搜索请求匹配的参考数据;从与任一参考搜索请求匹配的参考数据中提取至少一个第二关键字;根据至少一个第二关键字,生成与任一参考搜索请求对应的索引。
也就是说,在服务端接收到参考搜索请求后,可从设定的数据源中进行获取与该任一参考搜索请求匹配的参考数据,从参考数据中提取至少一个第二关键字,根据至少一个第二关键字,可生成与任一参考搜索请求对应的索引,比如,可将至少一个第二关键字进行拼接,生成与对应的参考搜索请求对应的索引,其中,至少一个第二关键字可为参考数据中的属性信息,比如,参考数据为个人信息,参考数据的属性信息可为姓名、电话或出生日期等,参考搜索请求对应的索引可为姓名、电话或出生日期,或者,参考搜索请求对应的索引为姓名、电话或出生日期中任意多个属性信息的组合。
其中,需要说明的是,根据参考搜索请求进行数据检索时,不同类型的数据源对应的参考搜索请求的请求参数不同,其中,数据源的类型可包括:网页、应用程序以及数据库。
比如,数据源类型为网页时,参考搜索请求的请求参数信息可包括:网站名称、网站统一资源定位系统(Uniform Resource Locator,简称URL)访问地址,采集关键字以及对应的授权信息,其中,授权信息可用于指示授权服务端从对应的网站中进行数据获取。又比如,数据源类型为应用程序(Application,简称APP)时,参考搜索请求的请求参数信息可包括:APP名称、授权信息以及APP提供的数据访问接口的地址等;再比如,数据源类型为数据库时,参考搜索请求的请求参数信息可包括:网际互连协议(Internet Protocol,简称IP)地址、数据库的类型(如,关系型数据库或非关系型数据库)、端口、数据库名称、用户名和密码等,数据源类型为非结构化数据时,参考搜索请求的请求参数信息可包括:数据文件存储路径、数据文件类型以及数据文件名称等。
步骤203,根据多个参考搜索请求对应的索引,生成索引列表。
可选地,根据任一参考搜索请求所属的请求类型,对与任一参考搜索请求匹配的参考数据对应的索引进行聚类,以生成至少一个索引目录;根据至少一个索引目录,生成索引列表。
在本公开实施例中,在生成多个参考搜索请求对应的索引后,可根据参考搜索请求所属的请求类型,对与任一参考搜索请求匹配的参考数据对应的索引进行聚类,可生成至少一个索引目录,进而,对至少一个索引目录进行拼接,可生成索引列表。参考搜索请求所属的请求类型为网页;进而,将同一请求类型的参考搜索请求对应的索引进行聚类,则可生成至少一个索引目录,进而,将至少一个索引目录进行拼接,可生成索引列表。
步骤204,接收客户端发送的目标搜索请求。
步骤205,从目标搜索请求中提取至少一个第一关键字。
步骤206,根据至少一个第一关键字,查询设定的索引列表,以确定索引列表中是否存在与至少一个第一关键字匹配的目标索引。
步骤207,在索引列表中存在与至少一个第一关键字匹配的目标索引时,根据目标索引进行数据检索,以获取与目标索引匹配的至少一个目标数据。
需要说明的是,步骤204至207的执行过程可以分别采用本公开的各实施例中的任一种方式实现,本公开实施例并不对此作出限定,也不再赘述。
综上,通过接收客户端发送的多个参考搜索请求;针对多个参考搜索请求中的任一参考搜索请求,根据任一参考搜索请求,生成与任一参考搜索请求对应的索引;根据多个参考搜索请求对应的索引,生成索引列表,由此,可有效生成多个参考搜索请求对应的索引列表,从而在进行数据检索时,先查询是否存在与目标搜素请求中的至少一个第一关键字匹配的目标索引,在存在目标索引时,根据目标索引进行数据检索,可快速获取到与目标搜索请求匹配的至少一个目标数据,提升了数据检索效率和准确性。
需要了解的是,在数据检索时,数据量较大可导致检索耗时较长,因此,为了提升数据检索效率,本公开提出另一种数据检索方法。
图3是本公开第三实施例所示出的数据检索方法的流程示意图。需要说明的是,本公开实施例的数据检索方法可应用于服务端。
如图3所示,该数据检索方法可包括如下步骤:
步骤301,接收客户端发送的多个参考搜索请求。
步骤302,针对多个参考搜索请求中的任一参考搜索请求,根据任一参考搜索请求,生成与任一参考搜索请求对应的索引。
步骤303,根据多个参考搜索请求对应的索引,生成索引列表。
步骤304,根据与任一参考搜索请求匹配的参考数据的分布特征,确定与任一参考搜索请求匹配的参考数据所属的数据类别。
在本公开实施例中,响应于任一参考搜索请求,从设定的数据源中获取与任一参考搜索请求匹配的参考数据,根据参考数据的分布特征,可对参考数据进行数据类别判断,比如,参考数据为连续分布,则该参考数据的数据类别为连续型数据;又比如,参考数据为离散分布,则该参考数据的数据类别为离散型数据。
步骤305,根据与任一参考搜索请求匹配的参考数据所属的数据类别以及任一参考搜索请求所属的请求类型,对与任一参考搜索请求匹配的参考数据进行压缩,以得到与任一参考搜索请求对应的压缩数据。
为了进一步提升数据检索效率,可减少检索数据的数据量,在本公开实施例中,将参考数据根据该参考数据对应的数据类别以及对应的参考搜索请求所属的请求类型进行压缩,比如,参考搜索请求A对应的参考数据为连续性数据,参考搜索请求A所属的请求类型为网页,参考搜索请求B对应的参考数据为离散型数据,参考搜索请求B所属的请求类型为网页,则将参考搜索请求A对应的参考数据和参考搜索请求B对应的参考数据分别进行压缩,得到参考搜索请求A和参考搜索请求B对应的压缩数据;又比如,参考搜索请求A对应的参考数据为连续性数据,参考搜索请求A所属的请求类型为网页,参考搜索请求B对应的参考数据为连续型数据,参考搜索请求B所属的请求类型为数据库,则将参考搜索请求A对应的参考数据和参考搜索请求B对应的参考数据分别进行压缩,得到参考搜索请求A和参考搜索请求B对应的压缩数据;再比如,参考搜索请求A对应的参考数据为连续性数据,参考搜索请求A所属的请求类型为网页,参考搜索请求B对应的参考数据为连续型数据,参考搜索请求B所属的请求类型为网页,则可将参考搜索请求A对应的参考数据和参考搜索请求B对应的参考数据一起进行压缩,得到参考搜索请求A和参考请求B对应的压缩数据。其中,连续型数据可采用位矢量算法或字典算法进行压缩,离散型数据可采用Heaps定律和Zipf定律去除离散数据中重复的内容后进行压缩。
步骤306,建立与任一参考搜索请求对应的索引以及压缩数据之间的目标映射关系。
进而,建立任一参考搜索请求对应的索引与对应的压缩数据之间的对应关系,并将该对应关系作为目标映射关系。
在本公开实施例中,为了便于后续的数据检索,可将任一参考请求对应的压缩数据以及对应的目标映射关系进行存储。其中,为了提高数据检索效率,在对压缩数据进行存储时,可将压缩数据处理成便于进行搜索的数据格式,比如,将压缩数据以结构化的数据格式进行存储。
步骤307,接收客户端发送的目标搜索请求。
步骤308,从目标搜索请求中提取至少一个第一关键字。
步骤309,根据至少一个第一关键字,查询设定的索引列表,以确定索引列表中是否存在与至少一个第一关键字匹配的目标索引。
步骤310,在索引列表中存在与目标搜索信息匹配的目标索引时,根据目标索引,查询目标映射关系,以获取与目标索引匹配的至少一个压缩数据。
在本公开实施例中,在索引列表中存在与目标搜索信息匹配的目标索引时,根据目标索引,查询目标映射关系,可快速获取目标索引对应的至少一个压缩数据。
需要说明的是,步骤301至303、步骤307至309的执行过程可以分别采用本公开的各实施例中的任一种方式实现,本公开实施例并不对此作出限定,也不再赘述。
综上,通过根据与任一参考搜索请求匹配的参考数据的分布特征,确定与任一参考搜索请求匹配的参考数据所属的数据类别;根据与任一参考搜索请求匹配的参考数据所属的数据类别以及任一参考搜索请求所属的请求类型,对与任一参考搜索请求匹配的参考数据进行压缩,以得到与任一参考搜索请求对应的压缩数据,由此,通过对参考搜索请求对应的参考数据进行压缩以及建立与任一参考搜索请求对应的索引以及压缩数据之间的目标映射关系,减小了检索数据的数据量,并且在存在目标索引时,根据目标索引查询目标映射关系,可快速获取到与目标搜索请求匹配的至少一个目标数据,提升了数据检索效率。
为了实现数据检索结果的精准推荐,改善用户体验,本公开提出另一种数据检索方法。
图4是本公开第四实施例所示出的数据检索方法的流程示意图。需要说明的是,本公开实施例的数据检索方法可应用于服务端。
如图4所示,该数据检索方法可包括如下步骤:
步骤401,接收客户端发送的目标搜索请求。
步骤402,从目标搜索请求中提取至少一个第一关键字。
步骤403,根据至少一个第一关键字,查询设定的索引列表,以确定索引列表中是否存在与至少一个第一关键字匹配的目标索引。
其中,索引列表中包括多个索引,索引是根据参考搜索请求对应的至少一个第二关键字生成的。
步骤404,在索引列表中存在与至少一个第一关键字匹配的目标索引时,根据目标索引进行数据检索,以获取与目标索引匹配的至少一个目标数据。
步骤405,针对至少一个目标数据中的任一目标数据,获取任一目标数据与至少一个第一关键字之间的相似度。
在本公开实施例中,可采用相似度算法计算至少一个目标数据中的任一目标数据与至少一个第一关键字中的任一第一关键字之间的相似度。比如,以任一目标数据为A,至少一个第一关键字可包括第一关键字a,第一关键字b和第一关键字c,可分别计算目标数据A与第一关键字a,第一关键字b和第一关键字c之间的相似度。其中,相似度算法可包括:余弦相似度、欧式距离等。
步骤406,根据至少一个目标数据中任一目标数据对应的相似度,对至少一个目标数据进行排序,以得到至少一个目标数据的排列顺序。
作为本公开实施例的一种可能的实现方式,可根据各第一关键词的权重,对任一目标数据与至少一个第一关键字之间的相似度进行加权求和,以得到该任一目标数据对应的相似度,进而,根据各目标数据对应的相似度,对各目标数据进行排序,可得到至少一个目标数据的排列顺序,比如,将各目标数据按照相似度从高至低进行排序,以得到至少一个目标数据的排列顺序。其中,需要说明的是,各第一关键词的权重可通过词频或词频逆文档方式确定。
步骤407,按照排列顺序,向客户端发送至少一个目标数据。
进而,按照至少一个目标数据的排列顺序,向客户端发送至少一个目标数据,客户端可对接收的至少一个目标数据进行展示,比如,按照排列顺序依次将至少一个目标数据发送至客户端,客户端可根据接收顺序确定至少一个目标数据的排列顺序,并对至少一个目标数据按照排列顺序进行展示;又比如,可将排列顺序中的前n个目标数据,一起发送至客户端,客户端对该n个目标数据可按照设定的顺序进行排列,并将排列后的n个目标数据进行展示。
此外,为了进一步提高数据检索效率,针对至少一个第一关键中的任一第一关键字,可统计任一第一关键字的检索次数;在检索次数大于或等于设定阈值时,将与任一第一关键字匹配的至少一个目标数据进行存储,由此,通过对与任一第一关键字匹配的至少一个目标数据预先存储,在后续数据检索时,可以快速地响应搜索请求,获取目标数据。
需要说明的是,步骤401至404的执行过程可以分别采用本公开的各实施例中的任一种方式实现,本公开实施例并不对此作出限定,也不再赘述。
综上,通过针对至少一个目标数据中的任一目标数据,获取任一目标数据与至少一个第一关键字之间的相似度;根据至少一个目标数据中任一目标数据对应的相似度,对至少一个目标数据进行排序,以得到至少一个目标数据的排列顺序;按照排列顺序,向客户端发送至少一个目标数据,由此,根据各目标数据与至少一个第一关键字之间的相似度,对各目标数据进行排序,提高了数据检索结果推荐的准确性,改善了用户体验。
本公开实施例的数据检索方法,通过接收客户端发送的目标搜索请求;从目标搜索请求中提取至少一个第一关键字;根据至少一个第一关键字,查询设定的索引列表,以确定索引列表中是否存在与至少一个第一关键字匹配的目标索引,其中,索引列表中包括多个索引,索引是根据参考搜索请求对应的至少一个第二关键字生成的;在索引列表中存在与至少一个第一关键字匹配的目标索引时,根据目标索引进行数据检索,以获取与所述目标索引匹配的至少一个目标数据,由此,在进行数据检索时,先查询是否存在与目标搜素请求中的至少一个第一关键字匹配的目标索引,在存在目标索引时,根据目标索引进行数据检索,可快速获取到与目标搜索请求匹配的至少一个目标数据,提升了数据检索效率和准确性。
图5是本公开第五实施例所示出的数据检索方法的流程示意图。需要说明的是,本公开实施例的数据检索方法可应用于客户端。
如图5所示,该数据检索方法可包括如下步骤:
步骤501,向服务端发送目标搜索请求。
其中,目标搜索请求用于从所述搜索请求中提取至少一个第一关键字,根据至少一个第一关键字,查询设定的索引列表,以确定索引列表中是否存在与至少一个第一关键字匹配的目标索引,其中,索引列表中包括多个索引,索引是根据参考搜索请求对应的至少一个第二关键字生成的,在索引列表中存在与目标搜索信息匹配的目标索引时,根据目标索引进行数据检索,以获取与目标索引匹配的至少一个目标数据。
在本公开实施例中,客户端可根据用户输入的搜索信息生成目标搜索请求,并将该目标搜索请求发送至服务端,从而,服务端可从目标搜索请求中提取至少一个第一关键字,并根据至少一个第一关键字,查询设定的索引列表,以确定索引列表中是否存在与至少一个第一关键字匹配的目标索引,在在索引列表中存在与目标搜索信息匹配的目标索引时,根据目标索引进行数据检索,以获取与目标索引匹配的至少一个目标数据。其中,索引列表中包括多个索引,索引是根据参考搜索请求对应的至少一个第二关键字生成的。
综上,通过向服务端发送目标搜索请求,服务端可从目标搜索请求中提取至少一个第一关键字;根据至少一个第一关键字,查询设定的索引列表,以确定索引列表中是否存在与至少一个第一关键字匹配的目标索引,其中,索引列表中包括多个索引,索引是根据参考搜索请求对应的至少一个第二关键字生成的;在索引列表中存在与所述至少一个第一关键字匹配的目标索引时,根据目标索引进行数据检索,以获取与目标索引匹配的至少一个目标数据,由此,在进行数据检索时,先查询是否存在与目标搜素请求中的至少一个第一关键字匹配的目标索引,在存在目标索引时,根据目标索引进行数据检索,可快速获取到与目标搜索请求匹配的至少一个目标数据,提升了数据检索效率和准确性。
为了清楚地说明上述实施例是如何生成索引列表的,本公开提出另一种数据检索方法。
图6是本公开第六实施例所示出的数据检索方法的流程示意图。需要说明的是,本公开实施例的数据检索方法可应用于客户端。
如图6所示,该数据检索方法可包括如下步骤:
步骤601,读取设定的参考文件,以从参考文件中获取请求参数信息。
作为本公开实施例的一种可能的实现方式,可接收用户上传的参考文件,并读取该参考文件,以从该参考文件中获取请求参数信息。
步骤602,根据请求参数信息,生成多个参考搜索请求。
作为本公开实施例的一种可能的实现方式,客户端可采用设定的请求模板,将参考文件中的请求参数信息,生成多个参考搜索请求。比如,将参考文件中的请求参数信息,填充至设定的请求模板中,以生成多个参考搜索请求。
其中,不同的请求参数信息生成的参考搜索请求,可对应不同的请求类型,比如,请求参数信息中包括:网站名称、网站统一资源定位系统(Uniform Resource Locator,简称URL)访问地址,采集关键字以及对应的授权信息,该请求参数信息生成的参考搜索请求对应的请求类型可为网页;又比如,请求参数信息中包括:APP名称、授权信息以及APP提供的数据访问接口的地址等,则该请求参数信息生成的参考搜索请求对应的请求类型为APP;再比如,请求参数信息中包括:网际互连协议(Internet Protocol,简称IP)地址、数据库的类型(如,关系型数据库或非关系型数据库)、端口、数据库名称、用户名和密码等,则该请求参数信息生成的参考搜索请求对应的请求类型为数据库。
步骤603,向服务端发送多个参考搜索请求。
其中,多个参考搜索请求用于针对多个参考搜索请求中的任一参考搜索请求,根据任一参考搜索请求,生成与任一参考搜索请求对应的索引,并根据多个参考搜索请求对应的索引,生成索引列表。
作为本公开实施例的一种可能的实现方式,在服务端接收到参考搜索请求后,可响应于任一参考搜索请求,从设定的数据源中获取与任一参考搜索请求匹配的参考数据;从与任一参考搜索请求匹配的参考数据中提取至少一个第二关键字;根据至少一个第二关键字,生成与任一参考搜索请求对应的索引。
也就是说,在服务端接收到参考搜索请求后,可从设定的数据源中进行获取与该任一参考搜索请求匹配的参考数据,从参考数据中提取至少一个第二关键字,根据至少一个第二关键字,可生成与任一参考搜索请求对应的索引,比如,可将至少一个第二关键字进行拼接,生成与对应的参考搜索请求对应的索引,其中,至少一个第二关键字可为参考数据中的属性信息,比如,参考数据为个人信息,参考数据的属性信息可为姓名、电话或出生日期等。进而,在生成多个参考搜索请求对应的索引后,可根据参考搜索请求所属的请求类型,对与任一参考搜索请求匹配的参考数据对应的索引进行聚类,可生成至少一个索引目录,进而,对至少一个索引目录进行拼接,可生成索引列表。
比如,参考搜索请求所属的请求类型为网页;进而,将同一请求类型的参考搜索请求对应的索引进行聚类,则可生成至少一个索引目录,进而,将至少一个索引目录进行拼接,可生成索引列表。
步骤604,向服务端发送目标搜索请求。
其中,目标搜索请求用于从搜索请求中提取至少一个第一关键字,根据至少一个第一关键字,查询设定的索引列表,以确定索引列表中是否存在与至少一个第一关键字匹配的目标索引,其中,索引列表中包括多个索引,索引是根据参考搜索请求对应的至少一个第二关键字生成的,在索引列表中存在与所述目标搜索信息匹配的目标索引时,根据目标索引进行数据检索,以获取与目标索引匹配的至少一个目标数据。
此外,为了使搜索结果更加直观地显示,在本公开实施例中,客户端还可接收服务端发送的目标数据;其中,至少一个目标数据是获取至少一个目标数据与至少一个第一关键字之间的相似度,根据相似度对至少一个目标数据进行排序,以得到至少一个目标数据的排列顺序,并按照排列顺序发送的;客户端可对至少一个目标数据进行展示。
综上,通过读取设定的参考文件,以从参考文件中获取请求参数信息;根据请求参数信息,生成多个参考搜索请求;向服务端发送多个参考搜索请求,由此,客户端可根据参考文件中的请求参数信息,生成多个参考搜索请求,并通过向服务端发送多个参考搜索请求,服务端可根据多个参考搜索请求,有效地生成索引列表,从而在进行数据检索时,先查询是否存在与目标搜素请求中的至少一个第一关键字匹配的目标索引,在存在目标索引时,根据目标索引进行数据检索,可快速获取到与目标搜索请求匹配的至少一个目标数据,提升了数据检索效率和准确性。
在本公开的任一实施例中,还可基于如下步骤实现本公开实施例的数据检索方法:
步骤1、获取在服务端预先建立的采集引擎、索引引擎、信息知识库、搜索器和储存路由引擎;
步骤2、对于采集引擎从数据源采集到的数据,可利用储存路由引擎进行压缩存储。其中,需要说明的是,对采集到的数据进行判断,以确定该采集到的数据是连续型数据还是离散型数据,其中,连续性数据可采用位矢量(Bit-Vector)算法或字典(Dictionary)算法进行压缩以存储,离散数据可采用Heaps定律和Zipf定律去除离散数据中重复的内容后进行压缩以存储,由此,对采集到的数据进行压缩不仅可以节省空间,还可以减少IO提高读取性能,此外,在存储时,还可创建一个全局字典表(如,结构化数据格式),并将数据处理成便于进行搜索的数据格式;其中,还需要说明的是,不同的数据源对应的搜索请求的请求参数信息不同,比如,数据源的类型为网页时:可在数据采集接口输入的请求参数信息包括:网站名称、网站URL访问地址、采集关键字、授权信息;数据源的类型为APP时:可在数据采集接口输入的请求参数信息包括:APP名称、APP提供的数据访问接口的地址、授权信息;在数据源的类型为结构化数据时,可在数据采集接口输入的请求参数信息包括:IP地址、数据库类型、端口、数据库名称、用户名、密码等;在数据源的类型为非结构化数据时,可在数据采集接口输入的请求参数信息包括:数据文件存储路径、数据文件类型、名称等;
步骤3、索引引擎负责采集引擎采集的数据资源,按照数据的属性信息(关键字信息)对数据建立索引,索引引擎开始工作按照采集引擎的输入的请求参数信息,以及对采集到的原始数据进行分析,对数据建立索引目录,并将索引目录存储至索引库,并将索引目录和原始数据进行一一对应,信息知识库负责存储索引器建立的数据索引信息,以及存储采集器采集的各类数据资源;因此,通过将压缩后的数据形成一张或多张业务场景索引表,索引引擎可解析索引表为搜索器提供指向服务,从而快速进行冷数据的搜索操作;
步骤4、内核接收到目标搜索请求后,将按照搜索关键字和请求类型在信息资源库中进行快速匹配,当没有匹配的索引时,向搜索器返回空的搜索队列;如果从信息资源库中找到匹配的索引,大数据内核会访问信息知识库,按照索引搜索出匹配的数据,并对搜索结果按照相似度进行排序,以列表的方式通过搜索器进行反馈,结束搜索,其中,当某一个搜索关键字频繁出现时,大数据内核会将与之匹配的搜索结果进行缓存,以便下次能够快速的响应搜索请求。
由此,在大数据的应用场景中,数据库如果单数据表的数据较多并且索引字段过多的时候,条件查询对中央处理器(Central Processing Unit,简称CPU)和输入/输出(Input/Output,简称IO)接口的消耗都会随着数据量增加剧增,导致数据检索速度比较慢。通过对采集到的数据进行不同类型方式的压缩,可改善存储压力及缓解物理磁盘开销带来的成本上涨,同时不影响对数据的查询。
本公开实施例的数据检索方法,通过向服务端发送目标搜索请求,服务端可从目标搜索请求中提取至少一个第一关键字;根据至少一个第一关键字,查询设定的索引列表,以确定索引列表中是否存在与至少一个第一关键字匹配的目标索引,其中,索引列表中包括多个索引,索引是根据参考搜索请求对应的至少一个第二关键字生成的;在索引列表中存在与至少一个第一关键字匹配的目标索引时,根据目标索引进行数据检索,以获取与目标索引匹配的至少一个目标数据,由此,在进行数据检索时,先查询是否存在与目标搜素请求中的至少一个第一关键字匹配的目标索引,在存在目标索引时,根据目标索引进行数据检索,可快速获取到与目标搜索请求匹配的至少一个目标数据,提升了数据检索效率和准确性。
与上述图1至图4实施例提供的数据检索方法相对应,本公开还提供一种数据检索装置,由于本公开实施例提供的数据检索装置与上述图1至图4实施例提供的数据检索方法相对应,因此在数据检索方法的实施方式也适用于本公开实施例提供的数据检索装置,在本公开实施例中不再详细描述。
图7是本公开第七实施例所示出的数据检索装置的结构示意图。本公开实施例的数据检索装置可应用于服务端。
参照图7,该数据检索装置700可包括:接收模块710、提取模块720、查询模块730和检索模块740。
其中,接收模块710,用于接收客户端发送的目标搜索请求;提取模块720,用于从目标搜索请求中提取至少一个第一关键字;查询模块730,用于根据至少一个第一关键字,查询设定的索引列表,以确定索引列表中是否存在与至少一个第一关键字匹配的目标索引,其中,索引列表中包括多个索引,索引是根据参考搜索请求对应的至少一个第二关键字生成的;检索模块740,用于在索引列表中存在与至少一个第一关键字匹配的目标索引时,根据目标索引进行数据检索,以获取与目标索引匹配的至少一个目标数据。
作为本公开实施例的一种可能的实现方式,数据检索装置700还包括:生成模块。
其中,接收模块710还用于:接收客户端发送的多个参考搜索请求;生成模块,用于针对多个参考搜索请求中的任一参考搜索请求,根据任一参考搜索请求,生成与任一参考搜索请求对应的索引;生成模块,还用于根据多个参考搜索请求对应的索引,生成索引列表。
作为本公开实施例的一种可能的实现方式,生成模块,还用于:响应于任一参考搜索请求,从设定的数据源中获取与任一参考搜索请求匹配的参考数据;从与任一参考搜索请求匹配的参考数据中提取至少一个第二关键字;根据至少一个第二关键字,生成与任一参考搜索请求对应的索引。
作为本公开实施例的一种可能的实现方式,生成模块,还用于:根据任一参考搜索请求所属的请求类型,对与任一参考搜索请求匹配的参考数据对应的索引进行聚类,以生成至少一个索引目录;根据至少一个索引目录,生成索引列表。
作为本公开实施例的一种可能的实现方式,数据检索装置700还包括:确定模块、压缩模块和建立模块。
其中,确定模块,用于根据与任一参考搜索请求匹配的参考数据的分布特征,确定与任一参考搜索请求匹配的参考数据所属的数据类别;压缩模块,用于根据与任一参考搜索请求匹配的参考数据所属的数据类别以及任一参考搜索请求所属的请求类型,对与任一参考搜索请求匹配的参考数据进行压缩,以得到与任一参考搜索请求对应的压缩数据;建立模块,用于建立与任一参考搜索请求对应的索引以及压缩数据之间的目标映射关系。
作为本公开实施例的一种可能的实现方式,检索模块740,用于:在索引列表中是否存在与目标搜索信息匹配的目标索引时,根据目标索引,查询目标映射关系,以获取与目标索引匹配的至少一个压缩数据。
作为本公开实施例的一种可能的实现方式,数据检索装置700还包括:获取模块、排序模块和发送模块。
其中,获取模块,用于针对至少一个目标数据中的任一目标数据,获取任一目标数据与至少一个第一关键字之间的相似度;排序模块,用于根据至少一个目标数据中任一目标数据对应的相似度,对所述至少一个目标数据进行排序,以得到至少一个目标数据的排列顺序;发送模块,用于按照排列顺序,向客户端发送至少一个目标数据。
作为本公开实施例的一种可能的实现方式,数据检索装置700还包括:统计模块和存储模块。
其中,统计模块,用于针对至少一个第一关键中的任一第一关键字,统计任一第一关键字的检索次数;存储模块,用于在检索次数大于或等于设定阈值时,将与任一第一关键字匹配的至少一个目标数据进行存储。
本公开实施例的数据检索装置,通过接收客户端发送的目标搜索请求;从目标搜索请求中提取至少一个第一关键字;根据至少一个第一关键字,查询设定的索引列表,以确定索引列表中是否存在与至少一个第一关键字匹配的目标索引,其中,索引列表中包括多个索引,索引是根据参考搜索请求对应的至少一个第二关键字生成的;在索引列表中存在与至少一个第一关键字匹配的目标索引时,根据目标索引进行数据检索,以获取与目标索引匹配的至少一个目标数据,由此,在进行数据检索时,先查询是否存在与目标搜素请求中的至少一个第一关键字匹配的目标索引,在存在目标索引时,根据目标索引进行数据检索,可快速获取到与目标搜索请求匹配的至少一个目标数据,提升了数据检索效率和准确性。
与上述图5至图6实施例提供的数据检索方法相对应,本公开还提供一种数据检索装置,由于本公开实施例提供的数据检索装置与上述图5至图6实施例提供的数据检索方法相对应,因此在数据检索方法的实施方式也适用于本公开实施例提供的数据检索装置,在本公开实施例中不再详细描述。
图8是本公开第八实施例所示出的数据检索装置的结构示意图。本公开实施例的数据检索装置可应用于客户端。
如图8所示,该数据检索装置800包括:发送模块810。
其中,发送模块810,用于向服务端发送目标搜索请求;其中,目标搜索请求用于从搜索请求中提取至少一个第一关键字,根据至少一个第一关键字,查询设定的索引列表,以确定索引列表中是否存在与至少一个第一关键字匹配的目标索引,其中,索引列表中包括多个索引,索引是根据参考搜索请求对应的至少一个第二关键字生成的,在索引列表中存在与目标搜索信息匹配的目标索引时,根据目标索引进行数据检索,以获取与目标索引匹配的至少一个目标数据。
作为本公开实施例的一种可能的实现方式,数据检索装置800还包括:读取模块和生成模块。
其中,读取模块,用于读取设定的参考文件,以从参考文件中获取请求参数信息;生成模块,用于根据请求参数信息,生成多个参考搜索请求;发送模块810,还用于向服务端发送多个参考搜索请求,其中,多个参考搜索请求用于针对多个参考搜索请求中的任一参考搜索请求,根据任一参考搜索请求,生成与任一参考搜索请求对应的索引,并根据多个参考搜索请求对应的索引,生成索引列表。
作为本公开实施例的一种可能的实现方式,数据检索装置800还包括:接收模块和展示模块。
其中,接收模块,用于接收服务端发送的目标数据;其中,至少一个目标数据是获取至少一个目标数据与所述至少一个第一关键字之间的相似度,根据相似度对至少一个目标数据进行排序,以得到至少一个目标数据的排列顺序,并按照排列顺序发送的;展示模块,用于对至少一个目标数据进行展示。
本公开实施例的数据检索装置,通过向服务端发送目标搜索请求,服务端可从目标搜索请求中提取至少一个第一关键字;根据至少一个第一关键字,查询设定的索引列表,以确定索引列表中是否存在与至少一个第一关键字匹配的目标索引,其中,索引列表中包括多个索引,索引是根据参考搜索请求对应的至少一个第二关键字生成的;在索引列表中存在与至少一个第一关键字匹配的目标索引时,根据目标索引进行数据检索,以获取与目标索引匹配的至少一个目标数据,由此,在进行数据检索时,先查询是否存在与目标搜素请求中的至少一个第一关键字匹配的目标索引,在存在目标索引时,根据目标索引进行数据检索,可快速获取到与目标搜索请求匹配的至少一个目标数据,提升了数据检索效率和准确性。
在示例性实施例中,还提出了一种电子设备。
其中,电子设备包括:
处理器;
用于存储处理器可执行指令的存储器;
其中,处理器被配置为执行指令,以实现如前述任一实施例提出的此外报表处理方法。
作为一种示例,图9是本公开一示例性实施例所示出的电子设备900的结构示意图,如图9所示,上述电子设备900,还可以包括:
存储器910及处理器920,连接不同组件(包括存储器910和处理器920)的总线930,存储器910存储有计算机程序,当处理器920执行所述程序时实现本公开实施例所述的数据检索方法。
总线930表示几类总线结构中的一种或多种,包括存储器总线或者存储器控制器,外围总线,图形加速端口,处理器或者使用多种总线结构中的任意总线结构的局域总线。举例来说,这些体系结构包括但不限于工业标准体系结构(ISA)总线,微通道体系结构(MAC)总线,增强型ISA总线、视频电子标准协会(VESA)局域总线以及外围组件互连(PCI)总线。
电子设备900典型地包括多种电子设备可读介质。这些介质可以是任何能够被电子设备900访问的可用介质,包括易失性和非易失性介质,可移动的和不可移动的介质。
存储器910还可以包括易失性存储器形式的计算机系统可读介质,例如随机存取存储器(RAM)940和/或高速缓存存储器950。服务器900可以进一步包括其它可移动/不可移动的、易失性/非易失性计算机系统存储介质。仅作为举例,存储系统960可以用于读写不可移动的、非易失性磁介质(图9未显示,通常称为“硬盘驱动器”)。尽管图9中未示出,可以提供用于对可移动非易失性磁盘(例如“软盘”)读写的磁盘驱动器,以及对可移动非易失性光盘(例如CD-ROM,DVD-ROM或者其它光介质)读写的光盘驱动器。在这些情况下,每个驱动器可以通过一个或者多个数据介质接口与总线930相连。存储器910可以包括至少一个程序产品,该程序产品具有一组(例如至少一个)程序模块,这些程序模块被配置以执行本公开各实施例的功能。
具有一组(至少一个)程序模块970的程序/实用工具980,可以存储在例如存储器910中,这样的程序模块970包括——但不限于——操作系统、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。程序模块970通常执行本公开所描述的实施例中的功能和/或方法。
电子设备900也可以与一个或多个外部设备990(例如键盘、指向设备、显示器991等)通信,还可与一个或者多个使得用户能与该电子设备900交互的设备通信,和/或与使得该电子设备900能与一个或多个其它计算设备进行通信的任何设备(例如网卡,调制解调器等等)通信。这种通信可以通过输入/输出(I/O)接口992进行。并且,电子设备900还可以通过网络适配器993与一个或者多个网络(例如局域网(LAN),广域网(WAN)和/或公共网络,例如因特网)通信。如图所示,网络适配器993通过总线930与电子设备900的其它模块通信。应当明白,尽管图中未示出,可以结合电子设备900使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理单元、外部磁盘驱动阵列、RAID系统、磁带驱动器以及数据备份存储系统等。
处理器920通过运行存储在存储器910中的程序,从而执行各种功能应用以及数据处理。
需要说明的是,本实施例的电子设备的实施过程和技术原理参见前述对本公开实施例的数据检索方法的解释说明,此处不再赘述。
在示例性实施例中,还提供了一种包括指令的计算机可读存储介质,例如包括指令的存储器,上述指令可由电子设备的处理器执行以完成上述任一实施例提出的数据检索方法。可选地,计算机可读存储介质可以是ROM、随机存取存储器(RAM)、CD-ROM、磁带、软盘和光数据存储设备等。
在示例性实施例中,还提供一种计算机程序产品,包括计算机程序/指令,其特征在于,所述计算机程序/指令被处理器执行时实现上述任一实施例提出的数据检索方法。
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本公开的其它实施方案。本公开旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的真正范围和精神由下面的权利要求指出。
应当理解的是,本公开并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本公开的范围仅由所附的权利要求来限制。