数据搜索方法及装置
文献发布时间:2023-06-19 11:44:10
技术领域
本发明涉及大数据技术领域,尤其涉及一种数据搜索方法及装置。
背景技术
本部分旨在为权利要求书中陈述的本发明实施例提供背景或上下文。此处的描述不因为包括在本部分中就承认是现有技术。
企业与应用的飞速发展,业务需求,数据存储模型变得越来越复杂,数据间的协同越来越多,数据量越来越多,搜索面临服务间的强依赖,数据孤岛,数据量过大导致性能瓶颈等问题。
传统搜索是通过对关系型数据库进行基本查询来搜索出用户想要的信息,而且只能搜索单个应用的数据,现有的关系型数据库比如Mysql。随着业务的发展,模型复杂度的增加,数据量的增加,关系型表模型变得越来越复杂,数据库的性能也逐渐吃紧。数据量增加和模型复杂化使得数据库索引不再是解决查询性能,导致搜索结果不准确、搜索效率十分低下,用户体验感不好。
针对上述问题,目前尚未提出有效的解决方案。
发明内容
本发明实施例中提供了一种数据搜索方法,用以解决现有搜索方法依靠数据库索引容易出现搜索结果不准确、搜索效率十分低下的问题,提升用户体验感,该方法包括:
获得待搜索词数据;
将所述待搜索词数据输入到预先建立的whoosh库中,输出所述待搜索词数据对应的第一相关搜索内容;
利用词向量工具gensim对所述待搜索词数据进行分析,得到所述待搜索词数据对应的词向量;
将所述待搜索词数据对应的词向量输入到预先建立的faiss库中,输出所述词向量对应的索引id;
将所述索引id输入到预先建立的whoosh库中,输出所述索引id对应的第二相关搜索内容;
根据所述第一相关搜索内容和第二相关搜索内容,生成所述待搜索词数据对应的联想词;
根据所述联想词,进行数据搜索。
进一步地,按如下方式预先建立whoosh库:获得ES库中的应用加工数据;根据所述应用加工数据,确定对应的索引字段;根据所述应用加工数据和对应的索引字段,建立whoosh库。
进一步地,将所述待搜索词数据输入到预先建立的whoosh库中,输出所述待搜索词数据对应的第一相关搜索内容,包括:
将所述待搜索词数据与whoosh库中的应用加工数据进行匹配;
根据匹配的结果,输出所述待搜索词数据对应的第一相关搜索内容。
进一步地,利用词向量工具gensim对所述待搜索词数据进行分析,得到所述待搜索词数据对应的词向量,包括:
将所述待搜索词数据输入词向量工具gensim中的lsi模型,输出所述待搜索词数据对应的潜在语义索引向量;
将所述待搜索词数据输入词向量工具gensim中的word2vec模型,输出所述待搜索词数据对应的word2vec词向量;
根据所述待搜索词数据对应的潜在语义索引向量和word2vec词向量,得到所述待搜索词数据对应的词向量。
进一步地,按如下方式预先建立faiss库:获得ES库中的应用加工数据;利用词向量工具gensim对所述应用加工数据进行分析,得到所述应用加工数据对应的词向量;根据所述应用加工数据对应的词向量建立faiss库。
进一步地,利用词向量工具gensim对所述应用加工数据进行分析,得到所述应用加工数据对应的词向量,包括:
将所述应用加工数据输入词向量工具gensim中的lsi模型,输出所述应用加工数据对应的潜在语义索引向量;
将所述应用加工数据输入词向量工具gensim中的word2vec模型,输出所述应用加工数据对应的word2vec词向量;
根据所述应用加工数据对应的潜在语义索引向量和word2vec词向量,得到所述应用加工数据对应的词向量。
进一步地,将所述待搜索词数据对应的词向量输入到预先建立的faiss库中,输出所述词向量对应的索引id,包括:
在faiss库中查询与所述待搜索词数据对应的词向量最邻近的一个或多个词向量;
确定所述一个或多个词向量对应的索引id。
进一步地,根据所述第一相关搜索内容和第二相关搜索内容,生成所述待搜索词数据对应的联想词,包括:
对所述第一相关搜索内容和第二相关搜索内容进行去重融合处理;
根据去重融合处理的结果,生成所述待搜索词数据对应的联想词。
本发明实施例中提供了一种数据搜索装置,用以解决现有搜索方法依靠数据库索引容易出现搜索结果不准确、搜索效率十分低下的问题,提升用户体验感,该装置包括:
数据获得模块,用于获得待搜索词数据;
第一输出模块,用于将所述待搜索词数据输入到预先建立的whoosh库中,输出所述待搜索词数据对应的第一相关搜索内容;
分析模块,用于利用词向量工具gensim对所述待搜索词数据进行分析,得到所述待搜索词数据对应的词向量;
第二输出模块,用于将所述待搜索词数据对应的词向量输入到预先建立的faiss库中,输出所述词向量对应的索引id;
第三输出模块,用于将所述索引id输入到预先建立的whoosh库中,输出所述索引id对应的第二相关搜索内容;
联想词生成模块,用于根据所述第一相关搜索内容和第二相关搜索内容,生成所述待搜索词数据对应的联想词;
数据搜索模块,用于根据所述联想词,进行数据搜索。
进一步地,按如下方式预先建立whoosh库:获得ES库中的应用加工数据;根据所述应用加工数据,确定对应的索引字段;根据所述应用加工数据和对应的索引字段,建立whoosh库。
进一步地,第一输出模块进一步用于:
将所述待搜索词数据与whoosh库中的应用加工数据进行匹配;
根据匹配的结果,输出所述待搜索词数据对应的第一相关搜索内容。
进一步地,分析模块进一步用于:
将所述待搜索词数据输入词向量工具gensim中的lsi模型,输出所述待搜索词数据对应的潜在语义索引向量;
将所述待搜索词数据输入词向量工具gensim中的word2vec模型,输出所述待搜索词数据对应的word2vec词向量;
根据所述待搜索词数据对应的潜在语义索引向量和word2vec词向量,得到所述待搜索词数据对应的词向量。
进一步地,按如下方式预先建立faiss库:获得ES库中的应用加工数据;利用词向量工具gensim对所述应用加工数据进行分析,得到所述应用加工数据对应的词向量;根据所述应用加工数据对应的词向量建立faiss库。
进一步地,利用词向量工具gensim对所述应用加工数据进行分析,得到所述应用加工数据对应的词向量,包括:
将所述应用加工数据输入词向量工具gensim中的lsi模型,输出所述应用加工数据对应的潜在语义索引向量;
将所述应用加工数据输入词向量工具gensim中的word2vec模型,输出所述应用加工数据对应的word2vec词向量;
根据所述应用加工数据对应的潜在语义索引向量和word2vec词向量,得到所述应用加工数据对应的词向量。
进一步地,第二输出模块进一步用于:
在faiss库中查询与所述待搜索词数据对应的词向量最邻近的一个或多个词向量;
确定所述一个或多个词向量对应的索引id。
进一步地,联想词生成模块进一步用于:
对所述第一相关搜索内容和第二相关搜索内容进行去重融合处理;
根据去重融合处理的结果,生成所述待搜索词数据对应的联想词。
本发明实施例中还提供了一种计算机设备,所述计算机设备包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述数据搜索方法。
本发明实施例中还提供了一种计算机可读存储介质,所述计算机可读存储介质存储有执行上述数据搜索方法的计算机程序。
本发明实施例通过获得待搜索词数据;将待搜索词数据输入到预先建立的whoosh库中,输出待搜索词数据对应的第一相关搜索内容;利用词向量工具gensim对待搜索词数据进行分析,得到待搜索词数据对应的词向量;将待搜索词数据对应的词向量输入到预先建立的faiss库中,输出词向量对应的索引id;将索引id输入到预先建立的whoosh库中,输出索引id对应的第二相关搜索内容;根据第一相关搜索内容和第二相关搜索内容,生成待搜索词数据对应的联想词;根据联想词,进行数据搜索。本发明实施例与现有的依靠数据库索引进行数据搜索的方案而言,能够有效解决出现搜索结果不准确、搜索效率十分低下的问题,提升用户体验感。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。在附图中:
图1为本发明实施例中提供的一种数据搜索方法流程图;
图2为本发明实施例中提供的一种数据搜索装置示意图;
图3为本发明实施例中提供的一种电子设备示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚明白,下面结合附图对本发明实施例做进一步详细说明。在此,本发明的示意性实施例及其说明用于解释本发明,但并不作为对本发明的限定。
如前所述,传统搜索是通过对关系型数据库进行基本查询来搜索出用户想要的信息,而且只能搜索单个应用的数据。随着业务的发展,模型复杂度的增加,数据量的增加,关系型表模型变得越来越复杂,数据库的性能也逐渐吃紧。数据量增加和模型复杂化使得数据库索引不再是解决查询性能,导致搜索结果不准确、搜索效率十分低下。企业与应用的飞速发展,业务需求,数据存储模型变得越来越复杂,数据间的协同越来越多,数据量越来越多,搜索面临服务间的强依赖,数据孤岛,数据量过大导致性能瓶颈等问题。现有的关系型数据库比如Mysql,面对大数据,复杂数据模型,通过索引等方式也很难解决性能瓶颈,导致查询时间长,用户体验低下。
为了解决现有搜索方法依靠数据库索引容易出现搜索结果不准确、搜索效率十分低下的问题,提升用户体验感,本发明实施例中提供了一种数据搜索方法,图1为本发明实施例中提供一种数据搜索方法流程图,如图1所示,包括如下步骤:
步骤101、获得待搜索词数据;
步骤102、将所述待搜索词数据输入到预先建立的whoosh库中,输出所述待搜索词数据对应的第一相关搜索内容;
步骤103、利用词向量工具gensim对所述待搜索词数据进行分析,得到所述待搜索词数据对应的词向量;
步骤104、将所述待搜索词数据对应的词向量输入到预先建立的faiss库中,输出所述词向量对应的索引id;
步骤105、将所述索引id输入到预先建立的whoosh库中,输出所述索引id对应的第二相关搜索内容;
步骤106、根据所述第一相关搜索内容和第二相关搜索内容,生成所述待搜索词数据对应的联想词;
步骤107、根据所述联想词,进行数据搜索。
由图1所示可以得知,本发明实施例通过获得待搜索词数据;将待搜索词数据输入到预先建立的whoosh库中,输出待搜索词数据对应的第一相关搜索内容;利用词向量工具gensim对待搜索词数据进行分析,得到待搜索词数据对应的词向量;将待搜索词数据对应的词向量输入到预先建立的faiss库中,输出词向量对应的索引id;将索引id输入到预先建立的whoosh库中,输出索引id对应的第二相关搜索内容;根据第一相关搜索内容和第二相关搜索内容,生成待搜索词数据对应的联想词;根据联想词,进行数据搜索。本发明实施例与现有的依靠数据库索引进行数据搜索的方案而言,能够有效解决出现搜索结果不准确、搜索效率十分低下的问题,提升用户体验感。
实施例中,获得待搜索词数据,实施例中,将所述待搜索词数据输入到预先建立的whoosh库中,输出所述待搜索词数据对应的第一相关搜索内容。
本实施例中,按如下方式预先建立whoosh库:获得ES库中的应用加工数据;根据所述应用加工数据,确定对应的索引字段;根据所述应用加工数据和对应的索引字段,建立whoosh库。
本实施例中,将所述待搜索词数据输入到预先建立的whoosh库中,输出所述待搜索词数据对应的第一相关搜索内容,包括:将所述待搜索词数据与whoosh库中的应用加工数据进行匹配;根据匹配的结果,输出所述待搜索词数据对应的第一相关搜索内容。
实施例中,利用词向量工具gensim对所述待搜索词数据进行分析,得到所述待搜索词数据对应的词向量。
本实施例中,利用词向量工具gensim对所述待搜索词数据进行分析,得到所述待搜索词数据对应的词向量,包括:将所述待搜索词数据输入词向量工具gensim中的lsi模型,输出所述待搜索词数据对应的潜在语义索引向量;将所述待搜索词数据输入词向量工具gensim中的word2vec模型,输出所述待搜索词数据对应的word2vec词向量;根据所述待搜索词数据对应的潜在语义索引向量和word2vec词向量,得到所述待搜索词数据对应的词向量。
实施例中,将所述待搜索词数据对应的词向量输入到预先建立的faiss库中,输出所述词向量对应的索引id;
本实施例中,按如下方式预先建立faiss库:获得ES库中的应用加工数据;利用词向量工具gensim对所述应用加工数据进行分析,得到所述应用加工数据对应的词向量;根据所述应用加工数据对应的词向量建立faiss库。
本实施例中,利用词向量工具gensim对所述应用加工数据进行分析,得到所述应用加工数据对应的词向量,包括:将所述应用加工数据输入词向量工具gensim中的lsi模型,输出所述应用加工数据对应的潜在语义索引向量;将所述应用加工数据输入词向量工具gensim中的word2vec模型,输出所述应用加工数据对应的word2vec词向量;根据所述应用加工数据对应的潜在语义索引向量和word2vec词向量,得到所述应用加工数据对应的词向量。
本实施例中,将所述待搜索词数据对应的词向量输入到预先建立的faiss库中,输出所述词向量对应的索引id,包括:在faiss库中查询与所述待搜索词数据对应的词向量最邻近的一个或多个词向量;确定所述一个或多个词向量对应的索引id。
实施例中,将所述索引id输入到预先建立的whoosh库中,输出所述索引id对应的第二相关搜索内容。根据所述第一相关搜索内容和第二相关搜索内容,生成所述待搜索词数据对应的联想词。根据所述联想词,进行数据搜索。
本实施例中,根据所述第一相关搜索内容和第二相关搜索内容,生成所述待搜索词数据对应的联想词,包括:对所述第一相关搜索内容和第二相关搜索内容进行去重融合处理;根据去重融合处理的结果,生成所述待搜索词数据对应的联想词。
下面给出一个具体实施例,说明本发明实施例中数据搜索方法的具体应用。在本具体实施例中将应用加工数据收集自身的存储库,然后通过对应用汇聚过来的数据过加工,分析,处理,实现搜索功能。应用加工数据是由应用将数据按照统一搜索提供的格式进行数据模型的加工,并将数据放到特定表中。统一搜索通过工具将数据加载,存储到自身的ES库中。数据存储处理通过同步工具将ES库中的部分内容同步存储到whoosh中并添加索引字段;对每条数据,利用词向量工具gensim计算lsi潜在语义索引向量与word2vec词向量,将向量合并后存入faiss库中。其中lsi模型与word2vec模型是批量训练模型。通过对应用加工的数据进行解析,处理,存储后,统一搜索进行对数据的搜索过程。联想词和相关词语搜索过程:待搜索词首先在whoosh中匹配相关搜索内容,同时利用词向量工具gensim获取计算lsi潜在语义索引向量与word2vec词向量,在faiss库中查询最近邻的n个词向量对应的索引id,在whoosh中查询该索引对应的搜索内容生成相关搜索,将相关搜索与whoosh直接匹配结果进行去重merge后生成联想词存入ES中。综合查询和精确查询过程:对输入搜索词进行分词,分词器会依据用户输入的内容,对搜索词进行分词,然后对分词内容进行匹配同义词等词语分析方式,然后结果集去ES中进行搜索,将命中的结果返回。
本发明实施例基于大数据技术领域,完成了搜索内容实时匹配(联想词补全),多产品综合查询,单产品精确查询等查询方式,可以在大数据量下进行高效搜索,可以支持对用户输入词分词,同义词等优化方式。为各个地方政务提供了一套高效,准确的搜索系统,系统可以通过对用户输入词语分词,词典配置,实现了用户输入词联想,用户输入词的匹配。并且极大的提高了在大数据量的场景下搜索的效率,提升了用户体验。本发明实施例代替原有搜索,能够实现数据量大,复杂数据模型等场景下的快速,有效的搜索。可以提升搜索命中率,命中范围,从而提高了用户体验。通过统一搜索平台,可以实现复杂数据结构查询,多应用数据查询。提高了用户体验性,降低了服务间的依赖。统一搜索统利用新一代系统作为基础,基于Spring框架,ElasticSearch搜索分析存储工具,Logstash收集转换存储工具。Logstash将数据采集,转换,存储到ElasticSearch中,完成统一搜索信息的收集。最突出的特点就是能够在很大程度上提升查询的效率,提高了命中效果。系统还可以支持用户同时查询多个服务的数据。并且通过分词等方式提高了用户查询效果,从而提高了用户体验性。
基于同一发明构思,本发明实施例中还提供了一种数据搜索装置,如下面的实施例所述。由于该装置解决问题的原理与数据搜索方法相似,因此该装置的实施可以参见方法的实施,重复之处不再赘述。
图2为本发明实施例中提供一种数据搜索装置示意图,如图2所示,本发明实施例中提供的数据搜索装置可包括:
数据获得模块201,用于获得待搜索词数据;
第一输出模块202,用于将所述待搜索词数据输入到预先建立的whoosh库中,输出所述待搜索词数据对应的第一相关搜索内容;
分析模块203,用于利用词向量工具gensim对所述待搜索词数据进行分析,得到所述待搜索词数据对应的词向量;
第二输出模块204,用于将所述待搜索词数据对应的词向量输入到预先建立的faiss库中,输出所述词向量对应的索引id;
第三输出模块205,用于将所述索引id输入到预先建立的whoosh库中,输出所述索引id对应的第二相关搜索内容;
联想词生成模块206,用于根据所述第一相关搜索内容和第二相关搜索内容,生成所述待搜索词数据对应的联想词;
数据搜索模块207,用于根据所述联想词,进行数据搜索。
在一个实施例中,按如下方式预先建立whoosh库:
获得ES库中的应用加工数据;
根据所述应用加工数据,确定对应的索引字段;
根据所述应用加工数据和对应的索引字段,建立whoosh库。
在一个实施例中,第一输出模块202进一步用于:
将所述待搜索词数据与whoosh库中的应用加工数据进行匹配;
根据匹配的结果,输出所述待搜索词数据对应的第一相关搜索内容。
在一个实施例中,分析模块203进一步用于:
将所述待搜索词数据输入词向量工具gensim中的lsi模型,输出所述待搜索词数据对应的潜在语义索引向量;
将所述待搜索词数据输入词向量工具gensim中的word2vec模型,输出所述待搜索词数据对应的word2vec词向量;
根据所述待搜索词数据对应的潜在语义索引向量和word2vec词向量,得到所述待搜索词数据对应的词向量。
在一个实施例中,按如下方式预先建立faiss库:
获得ES库中的应用加工数据;
利用词向量工具gensim对所述应用加工数据进行分析,得到所述应用加工数据对应的词向量;
根据所述应用加工数据对应的词向量建立faiss库。
在一个实施例中,利用词向量工具gensim对所述应用加工数据进行分析,得到所述应用加工数据对应的词向量,包括:
将所述应用加工数据输入词向量工具gensim中的lsi模型,输出所述应用加工数据对应的潜在语义索引向量;
将所述应用加工数据输入词向量工具gensim中的word2vec模型,输出所述应用加工数据对应的word2vec词向量;
根据所述应用加工数据对应的潜在语义索引向量和word2vec词向量,得到所述应用加工数据对应的词向量。
在一个实施例中,第二输出模块204进一步用于:
在faiss库中查询与所述待搜索词数据对应的词向量最邻近的一个或多个词向量;
确定所述一个或多个词向量对应的索引id。
在一个实施例中,联想词生成模块206进一步用于:
对所述第一相关搜索内容和第二相关搜索内容进行去重融合处理;
根据去重融合处理的结果,生成所述待搜索词数据对应的联想词。
综上所述,本发明实施例通过获得待搜索词数据;将待搜索词数据输入到预先建立的whoosh库中,输出待搜索词数据对应的第一相关搜索内容;利用词向量工具gensim对待搜索词数据进行分析,得到待搜索词数据对应的词向量;将待搜索词数据对应的词向量输入到预先建立的faiss库中,输出词向量对应的索引id;将索引id输入到预先建立的whoosh库中,输出索引id对应的第二相关搜索内容;根据第一相关搜索内容和第二相关搜索内容,生成待搜索词数据对应的联想词;根据联想词,进行数据搜索。本发明实施例与现有的依靠数据库索引进行数据搜索的方案而言,能够有效解决出现搜索结果不准确、搜索效率十分低下的问题,提升用户体验感。
基于同一发明构思,本发明实施例中还提供了一种用于实现上述数据搜索方法中的全部或部分内容的电子设备实施例。该电子设备具体包含有如下内容:
处理器(processor)、存储器(memory)、通信接口(Communications Interface)和总线;其中,所述处理器、存储器、通信接口通过所述总线完成相互间的通信;所述通信接口用于实现相关设备之间的信息传输;该电子设备可以是台式计算机、平板电脑及移动终端等,本实施例不限于此。在本实施例中,该电子设备可以参照实施例用于实现上述数据搜索方法的实施例及用于实现上述数据搜索装置的实施例进行实施,其内容被合并于此,重复之处不再赘述。
图3为本发明实施例中提供的一种电子设备的系统组成结构示意图。如图3所示,该电子设备30可以包括处理器301和存储器302;存储器302耦合到处理器301。值得注意的是,该图3是示例性的;还可以使用其他类型的结构,来补充或代替该结构,以实现电信功能或其他功能。
在一个实施例中,数据搜索方法实现的功能可以被集成到处理器301中。其中,处理器301可以被配置为进行如下控制:获得待搜索词数据;将所述待搜索词数据输入到预先建立的whoosh库中,输出所述待搜索词数据对应的第一相关搜索内容;利用词向量工具gensim对所述待搜索词数据进行分析,得到所述待搜索词数据对应的词向量;将所述待搜索词数据对应的词向量输入到预先建立的faiss库中,输出所述词向量对应的索引id;将所述索引id输入到预先建立的whoosh库中,输出所述索引id对应的第二相关搜索内容;根据所述第一相关搜索内容和第二相关搜索内容,生成所述待搜索词数据对应的联想词;根据所述联想词,进行数据搜索。
由上可知,本发明的实施例中提供的电子设备,通过获得待搜索词数据;将所述待搜索词数据输入到预先建立的whoosh库中,输出所述待搜索词数据对应的第一相关搜索内容;利用词向量工具gensim对所述待搜索词数据进行分析,得到所述待搜索词数据对应的词向量;将所述待搜索词数据对应的词向量输入到预先建立的faiss库中,输出所述词向量对应的索引id;将所述索引id输入到预先建立的whoosh库中,输出所述索引id对应的第二相关搜索内容;根据所述第一相关搜索内容和第二相关搜索内容,生成所述待搜索词数据对应的联想词;根据所述联想词,进行数据搜索。
通过本发明实施例中提供的电子设备,能够解决现有搜索方法依靠数据库索引容易出现搜索结果不准确、搜索效率十分低下的问题,提升用户体验感。
在另一个实施例中,数据搜索装置可以与处理器301分开配置,例如可以将数据搜索装置配置为与处理器301连接的芯片,通过处理器的控制来实现数据搜索方法的功能。
如图3所示,该电子设备30还可以包括:通信模块303、输入单元304、音频处理单元305、显示器306、电源303。值得注意的是,电子设备30也并不是必须要包括图3中所示的所有部件;此外,电子设备30还可以包括图3中没有示出的部件,可以参考现有技术。
如图3所示,处理器301有时也称为控制器或操作控件,可以包括微处理器或其他处理器装置和/或逻辑装置,该处理器301接收输入并控制电子设备30的各个部件的操作。
其中,存储器302,例如可以是缓存器、闪存、硬驱、可移动介质、易失性存储器、非易失性存储器或其它合适装置中的一种或更多种。可储存上述与失败有关的信息,此外还可存储执行有关信息的程序。并且处理器301可执行该存储器302存储的该程序,以实现信息存储或处理等。
输入单元304向处理器301提供输入。该输入单元304例如为按键或触摸输入装置。电源303用于向电子设备30提供电力。显示器306用于进行图像和文字等显示对象的显示。该显示器例如可为LCD显示器,但并不限于此。
该存储器302可以是固态存储器,例如,只读存储器(ROM)、随机存取存储器(RAM)、SIM卡等。还可以是这样的存储器,其即使在断电时也保存信息,可被选择性地擦除且设有更多数据,该存储器的示例有时被称为EPROM等。存储器302还可以是某种其它类型的装置。存储器302包括缓冲存储器3021(有时被称为缓冲器)。存储器302可以包括应用/功能存储部3022,该应用/功能存储部3022用于存储应用程序和功能程序或用于通过处理器301执行电子设备30的操作的流程。
存储器302还可以包括数据存储部3023,该数据存储部3023用于存储数据,例如联系人、数字数据、图片、声音和/或任何其他由电子设备使用的数据。存储器302的驱动程序存储部3024可以包括电子设备的用于通信功能和/或用于执行电子设备的其他功能(如消息传送应用、通讯录应用等)的各种驱动程序。
通信模块303即为经由天线308发送和接收信号的发送机/接收机。通信模块(发送机/接收机)303耦合到处理器301,以提供输入信号和接收输出信号,这可以和常规移动通信终端的情况相同。
基于不同的通信技术,在同一电子设备中,可以设置有多个通信模块303,如蜂窝网络模块、蓝牙模块和/或无线局域网模块等。通信模块(发送机/接收机)303还经由音频处理单元305耦合到扬声器309和麦克风310,以经由扬声器309提供音频输出,并接收来自麦克风310的音频输入,从而实现通常的电信功能。音频处理单元305可以包括任何合适的缓冲器、解码器、放大器等。另外,音频处理单元305还耦合到处理器301,从而使得可以通过麦克风310能够在本机上录音,且使得可以通过扬声器309来播放本机上存储的声音。
本发明的实施例中还提供了一种用于实现上述实施例中数据搜索方法中全部步骤的一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器执行时实现上述实施例中的数据搜索方法的全部步骤,例如,该处理器执行该计算机程序时实现下述步骤:获得待搜索词数据;将所述待搜索词数据输入到预先建立的whoosh库中,输出所述待搜索词数据对应的第一相关搜索内容;利用词向量工具gensim对所述待搜索词数据进行分析,得到所述待搜索词数据对应的词向量;将所述待搜索词数据对应的词向量输入到预先建立的faiss库中,输出所述词向量对应的索引id;将所述索引id输入到预先建立的whoosh库中,输出所述索引id对应的第二相关搜索内容;根据所述第一相关搜索内容和第二相关搜索内容,生成所述待搜索词数据对应的联想词;根据所述联想词,进行数据搜索。
由上可知,本发明的实施例中提供的计算机可读存储介质,通过获得待搜索词数据;将所述待搜索词数据输入到预先建立的whoosh库中,输出所述待搜索词数据对应的第一相关搜索内容;利用词向量工具gensim对所述待搜索词数据进行分析,得到所述待搜索词数据对应的词向量;将所述待搜索词数据对应的词向量输入到预先建立的faiss库中,输出所述词向量对应的索引id;将所述索引id输入到预先建立的whoosh库中,输出所述索引id对应的第二相关搜索内容;根据所述第一相关搜索内容和第二相关搜索内容,生成所述待搜索词数据对应的联想词;根据所述联想词,进行数据搜索。
通过本发明实施例中提供的计算机可读存储介质,能够解决现有搜索方法依靠数据库索引容易出现搜索结果不准确、搜索效率十分低下的问题,提升用户体验感。
虽然本发明提供了如实施例或流程图所述的方法操作步骤,但基于常规或者无创造性的劳动可以包括更多或者更少的操作步骤。实施例中列举的步骤顺序仅仅为众多步骤执行顺序中的一种方式,不代表唯一的执行顺序。在实际中的装置或客户端产品执行时,可以按照实施例或者附图所示的方法顺序执行或者并行执行(例如并行处理器或者多线程处理的环境)。
本领域技术人员应明白,本说明书的实施例可提供为方法、装置(系统)或计算机程序产品。因此,本说明书实施例可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、装置(系统)和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。术语“上”、“下”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。除非另有明确的规定和限定,术语“安装”、“相连”、“连接”应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或一体地连接;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通。对于本领域的普通技术人员而言,可以根据具体情况理解上述术语在本发明中的具体含义。需要说明的是,在不冲突的情况下,本发明中的实施例及实施例中的特征可以相互组合。本发明并不局限于任何单一的方面,也不局限于任何单一的实施例,也不局限于这些方面和/或实施例的任意组合和/或置换。可单独使用本发明的每个方面和/或实施例,或者与一个或更多其他方面和/或其他实施例结合使用。
以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例中所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围,其均应涵盖在本发明的权利要求和说明书的范围当中。
- 元数据的索引结构、提供元数据索引的方法、以及使用元数据的索引的元数据搜索方法和装置
- 数据处理方法和装置,处理器及数据搜索方法和装置