CN105404627B - 一种用于确定搜索结果的方法与设备 - Google Patents
一种用于确定搜索结果的方法与设备 Download PDFInfo
- Publication number
- CN105404627B CN105404627B CN201410461634.7A CN201410461634A CN105404627B CN 105404627 B CN105404627 B CN 105404627B CN 201410461634 A CN201410461634 A CN 201410461634A CN 105404627 B CN105404627 B CN 105404627B
- Authority
- CN
- China
- Prior art keywords
- search result
- sku
- commodity
- search
- inverted index
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请的目的是提供一种用于确定搜索结果的方法与设备。具体地,获取一个或多个业务对象关联的分词;根据所述分词建立所述一个或多个业务对象的第一倒排索引数据库;为所述一个或多个业务对象配置SKU属性信息;根据所述一个或多个业务对象的SKU属性信息建立所述一个或多个业务对象的第二倒排索引数据库;接收用户的查询序列;根据所述查询序列中的至少一个分词在所述第一倒排索引数据库中获取第一搜索结果;提取所述查询序列中的SKU属性信息,根据提取的至少一项SKU属性信息在所述第二倒排索引数据库中获取第二搜索结果;根据所述第一搜索结果及所述第二搜索结果确定目标搜索结果。与现有技术相比,本申请极大地提高了搜索效率并提升了用户使用体验。
Description
技术领域
本申请涉及计算机领域,尤其涉及一种用于确定搜索结果的技术。
背景技术
商品库存单元(SKU,Stock Keeping Unit)是在商品分类及编号中使用的一种计量方式。在商品搜索引擎中,一款商品可能包括多个SKU。例如,对于iphone5s(即型号为5s的苹果手机)这款商品来说,可以包含多个不同规格或配置的商品,不同规格或配置的商品对应不同的SKU。例如,具有“白色,16G”这样的规格或配置的商品对应一个SKU,而具有“金色,32G”这样的规格或配置的商品对应另一个SKU。进一步地,一个SKU通常具有多个SKU属性,其中,每一SKU属性用于描述对应该SKU的商品在某一维度的特征。以上述iphone5s的规格为“白色,16G”的商品对应的SKU为例进行说明,该SKU具有2个SKU属性,分别是“颜色:白色”以及“存储大小:16G”。
SKU过滤是指用户在使用商品搜索引擎搜索商品时指定该商品的至少一个SKU属性作为过滤条件的商品搜索方式。例如,用户搜索“iphone5s”时,指定SKU属性“存储大小:32G”作为过滤条件。在进行SKU过滤时,用户指定的SKU属性通常是该商品众多SKU属性中的一个子集,只要该商品有一个SKU包括过滤条件中所有用户所指定的SKU属性,则表示该商品满足过滤条件,可以被检索出来。
下面,以一个详细的实施例对SKU过滤进行说明。
具体地,一商家出售的商品是iphone5s,该商品的标题为“iphone5s清仓处理”,该商品具有以下3个SKU:
第1个SKU是“颜色:白色,存储大小:16G,网络模式:GSM”,其中,该SKU具有3个SKU属性,分别是“颜色:白色”、“存储大小:16G”以及“网络模式:GSM”;
第2个SKU是“颜色:金色,存储大小:16G,网络模式:GSM”,其中,该SKU具有3个SKU属性,分别是“颜色:金色”、“存储大小:16G”以及“网络模式:GSM”;
第3个SKU是“颜色:金色,存储大小:32G,网络模式:WCDMA”,其中,该SKU具有3个SKU属性,分别是“颜色:金色”、“存储大小:32G”以及“网络模式:WCDMA”。
若用户搜索“iphone5s”并指定SKU属性“颜色:白色”和“存储大小:32G”作为SKU过滤条件,在这种情况下,该商品的第1个SKU具有“颜色:白色”的SKU属性但不具有“存储大小:32G”的SKU属性,该商品的第2个SKU既不具有“颜色:白色”的SKU属性也不具有“存储大小:32G”的SKU属性,该商品的第3个SKU具有“存储大小:32G”的SKU属性但不具有“颜色:白色”的SKU属性。也就是说,该商品并不具有同时满足“颜色:白色”和“存储大小:32G”的SKU,所以该商品不满足SKU过滤条件,将不被搜索出来。
若用户搜索“iphone5s”并指定SKU属性“颜色:白色”和“网络模式:GSM”作为SKU过滤条件,在这种情况下,该商品的第1个SKU同时具有“颜色:白色”的SKU属性和“网络模式:GSM”的SKU属性,因此该商品满足SKU过滤条件,将被搜索出来。
在现有技术中,采用如下方法来实现上述SKU过滤,其中,该方法包括两个步骤:
步骤一、商品搜索引擎根据商品的身份相关信息(例如商品标题等)搜索到相关商品之后,通过商品在索引中的内部编号找到该商品所对应的SKU属性索引的位置信息,进而根据该位置信息找到SKU属性索引本身(如图1所示)。
假设商品搜索引擎中共存在N个商品(分别用商品1、商品2、商品3…商品N表示)。以找到商品2的SKU属性索引为例,如上图所示,根据商品2在索引中的内部编号在定长区域的位置2找到商品2的SKU属性索引的位置信息,然后根据该位置信息在索引的变长区域中找到商品2的SKU属性索引。
步骤二、在商品的SKU属性索引中对过滤条件中的SKU属性进行查找。典型地,SKU属性索引采用hash表的形式,下文中称为SKU属性hash表。继续以商品2为例,其中,商品2具有M个SKU属性(分别用属性1、属性2、属性3…属性M表示),该商品2的SKU属性hash表如图2所示。
针对过滤条件中的一个SKU属性来说,如果在商品的SKU属性hash表中无法查找到该SKU属性,则说明该商品没有满足过滤条件的SKU属性;如果在商品的SKU属性hash表中可以查找到该SKU属性,则对SKU属性hash表中与该SKU属性所对应的bitmap(位图)进行置位,以表示该SKU属性在该商品的哪个SKU中出现过。以上述标题为“iphone5s清仓处理”的商品为例,“颜色:黑色”的SKU属性在该商品的SKU属性hash表中无法查找到;而“颜色:金色”的SKU属性可以在该商品的SKU属性hash表中找到,并且与“颜色:金色”这个SKU属性所对应的bitmap中第2位和第3位被置位,表示“颜色:金色”这一SKU属性出现在该商品的第2个SKU中以及第3个SKU中。
当过滤条件中包括多个SKU属性时,需要针对过滤条件中的每一SKU属性在商品的SKU属性hash表中逐一进行上述查找。如果过滤条件中的所有SKU属性在该商品的SKU属性hash表中都能查找到,并且将与该所有SKU属性对应的bitmap做“与”运算之后,得到的运算结果不是“0”(若两个或两个以上的bitmap中相同的位均被置位,则该两个或两个以上的bitmap做“与”运算之后,该“与”运算结果在对应位上非零,故结果不为“0”,即存在至少一个满足所有过滤条件的结果),则说明该商品存在至少一个SKU具有过滤条件中的所有SKU属性,也就是说该商品满足过滤条件;否则说明该商品不满足过滤条件。以上述标题为“iphone5s清仓处理”的商品为例,若过滤条件包括两个SKU属性,分别是“颜色:金色”和“存储大小:16G”,在该商品的SKU属性hash表中查找到与“颜色:金色”这一SKU属性所对应的bitmap中第2位和第3位被置位以及与“存储大小:16G”这一SKU属性所对应的bitmap中第1位和第2位被置位,两个bitmap做“与”运算之后,第2位依然被置位,其结果不为“0”,则说明该商品满足过滤条件;若过滤条件包括两个SKU属性,分别是“颜色:白色”和“存储大小:32G”,在该商品的SKU属性hash表中查找到与“颜色:白色”这一SKU属性所对应的bitmap中第1位和第2位被置位以及与“存储大小:32G”这一SKU属性所对应的bitmap中第3位被置位,两个bitmap做“与”运算之后,其结果为“0”,则说明该商品不满足过滤条件。需要说明的是,下文中将两个或多个bitmap做“与”运算简称为bitmap“与”运算。
下面,对上述实现SKU过滤的方法的运算复杂度进行分析。具体地,假设步骤一中商品搜索引擎根据商品的身份相关信息搜索到相关商品搜索到的商品的数目为K、步骤二中过滤条件包括的SKU属性的数目为P,在步骤二中针对于该K个商品中的每一商品执行SKU属性hash表的查找以及bitmap“与”运算,其中,针对每一商品执行SKU属性hash表的查找的次数等于P以及执行bitmap“与”运算的次数等于P,那么,针对该K个商品执行SKU属性hash表的查找的总次数等于K×P次以及执行bitmap“与”运算的总次数等于K×P次。
在利用商品搜索引擎进行商品搜索的实际过程中,步骤一中搜索到的商品动辄在十万以上(即K的数值大于十万)。因此,现有技术中用于实现SKU过滤的方法其运算量大、复杂度高,从而导致SKU过滤在搜索效率方面表现不够理想。
发明内容
本申请的目的是提供一种用于确定搜索结果的方法与设备。
根据本申请的一个方面,提供了一种用于确定搜索结果的方法,其中,该方法包括:
获取一个或多个业务对象关联的分词;根据所述分词建立所述一个或多个业务对象的第一倒排索引数据库;
为所述一个或多个业务对象配置SKU属性信息;根据所述一个或多个业务对象的SKU属性信息建立所述一个或多个业务对象的第二倒排索引数据库;
接收用户的查询序列;
根据所述查询序列中的至少一个分词在所述第一倒排索引数据库中获取第一搜索结果;
提取所述查询序列中的SKU属性信息,根据提取的至少一项SKU属性信息在所述第二倒排索引数据库中获取第二搜索结果;
根据所述第一搜索结果及所述第二搜索结果确定目标搜索结果。
根据本申请的另一方面,还提供了一种用于确定搜索结果的设备,其中,该设备包括:
第一建库装置,用于获取一个或多个业务对象关联的分词;根据所述分词建立所述一个或多个业务对象的第一倒排索引数据库;
第二建库装置,用于为所述一个或多个业务对象配置SKU属性信息;根据所述一个或多个业务对象的SKU属性信息建立所述一个或多个业务对象的第二倒排索引数据库;
接收装置,用于接收用户的查询序列;
第一查询装置,用于根据所述查询序列中的至少一个分词在所述第一倒排索引数据库中获取第一搜索结果;
第二查询装置,用于提取所述查询序列中的SKU属性信息,根据提取的至少一项SKU属性信息在所述第二倒排索引数据库中获取第二搜索结果;
确定装置,用于根据所述第一搜索结果及所述第二搜索结果确定目标搜索结果。
与现有技术相比,本申请通过分别建立业务对象所对应的第一倒排索引数据库及第二倒排索引数据库,利用查询序列在该两数据库中分别搜索得到的结果来综合确定最终的目标搜索结果,极大地提高了搜索效率以及提升了用户的使用体验。特别地,采用倒排索引的方式根据第一倒排索引数据库建立对应的第二倒排索引数据库,并利用“与”逻辑运算(例如基于bitmap的“与”运算)的方式确定目标搜索结果,可以大大降低运算复杂度,从而高效地实现目标搜索结果的提供。
附图说明
通过阅读参照以下附图所作的对非限制性实施例所作的详细描述,本申请的其它特征、目的和优点将会变得更明显:
图1示出在索引中根据SKU属性索引的位置信息找到SKU属性索引本身;
图2示出该商品2的SKU属性hash表;
图3示出根据本申请一个方面的一种用于确定搜索结果的设备示意图;
图4示出根据本申请的另一个方面的一种用于确定搜索结果的方法流程图。
附图中相同或相似的附图标记代表相同或相似的部件。
具体实施方式
下面结合附图对本申请作进一步详细描述。
在本申请一个典型的配置中,终端、服务网络的设备和可信方均包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。内存是计算机可读介质的示例。计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括非暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
图3示出根据本申请一个方面的一种用于确定搜索结果的设备示意图,其中,该设备1包括第一建库装置101、第二建库装置102、接收装置103、第一查询装置104、第二查询装置105和确定装置106。具体地,第一建库装置101获取一个或多个业务对象关联的分词,根据所述分词建立所述一个或多个业务对象的第一倒排索引数据库;第二建库装置102为所述一个或多个业务对象配置SKU属性信息,根据所述一个或多个业务对象的SKU属性信息建立所述一个或多个业务对象的第二倒排索引数据库;接收装置103接收用户的查询序列;第一查询装置104根据所述查询序列中的至少一个分词在所述第一倒排索引数据库中获取第一搜索结果;第二查询装置105提取所述查询序列中的SKU属性信息,根据提取的至少一项SKU属性信息在所述第二倒排索引数据库中获取第二搜索结果;确定装置106根据所述第一搜索结果及所述第二搜索结果确定目标搜索结果。
在此,设备1可以是本地设备,也可以是网络设备。其中,网络设备可由网络主机、单个网络服务器、多个网络服务器集或多个服务器构成的云等实现。在此,云由基于云计算(Cloud Computing)的大量主机或网络服务器构成,其中,云计算是分布式计算的一种,由一群松散耦合的计算机集组成的一个超级虚拟计算机。本领域技术人员应能理解上述设备仅为举例,其他现有的或今后可能出现的设备如可适用于本申请,也应包含在本申请保护范围以内,并在此以引用方式包含于此。在此,所述设备包括一种能够按照事先设定或存储的指令,自动进行数值计算和信息处理的电子设备,其硬件包括但不限于微处理器、专用集成电路(ASIC)、可编程门阵列(FPGA)、数字处理器(DSP)、嵌入式设备等。
在对本申请实施例所提供的用于确定搜索结果的设备进行详细描述之前,需要对本申请实施例所提供的设备所适用的业务对象进行说明。具体地,本申请所提供的设备所适用的业务对象具有如下特征:每个业务对象具有对应的一般描述信息,例如该业务对象的标题信息,还可以通过关于该业务对象的一个或多个SKU属性信息来描述。例如,商品是符合上述特征的一种非常典型的业务对象。一个商品“iPhone 5s”通常包括一般描述信息,例如“正品行货iphone5s”,还可以包括多个SKU属性信息,例如“颜色:白色,存储大小:16G,网络模式:GSM”、“颜色:金色,存储大小:16G,网络模式:GSM”以及“颜色:金色,存储大小:32G,网络模式:WCDMA”。当用户通过商品的一般描述信息“iphone5s”以及该商品的SKU属性相关信息“颜色:白色,存储大小:16G”进行查询时,即可使用本申请所提供的设备以获得满足该查询条件的苹果手机。本领域技术人员可以理解的是,本申请实施例所提供的用于确定搜索结果的设备并不仅仅适用于商品,凡是符合上述特征的业务对象均包括在本申请所保护的范围内。举例说明,若业务对象是公司所有的员工,则员工的职位、部门等用来描述该业务对象的一般描述信息,员工的性别、年龄等用来描述该业务对象的SKU属性信息,如“产品经理男35岁以下”,等等。为了简明起见,在此不再对本申请可能适用的所有业务对象进行一一列举。下文中,仅以业务对象是商品为例对本申请实施例所提供的用于确定搜索结果的设备进行说明,其中,用户通过指定商品的至少一个SKU属性作为过滤条件的商品搜索方式称为SKU过滤。本领域技术人员应能理解,本方案适用于包括商品在内的所有业务对象。
具体地,第一建库装置101获取一个或多个业务对象关联的分词,根据所述分词建立所述一个或多个业务对象的第一倒排索引数据库。例如,该第一建库装置101通过对一个或多个业务对象的一般描述信息进行分词处理,获得该(等)业务对象关联的分词,或者通过直接从第三方数据库中读取该(等)业务对象所对应的分词;接着,根据所得到分词与该(等)业务对象的对应关系,建立该(等)业务对象的第一倒排索引数据库,其中,该第一倒排索引数据库中的记录信息以该(等)分词为索引,并包括包含该索引分词的至少一个业务对象。优选地,该(等)业务对象还配置有编码,例如用于区分每个业务对象的对象标识信息;相应地,所得到的第一倒排索引数据库中的记录信息包括其索引分词与包含该索引分词的业务对象的编码的映射关系。
第二建库装置102为所述一个或多个业务对象配置SKU属性信息,根据所述一个或多个业务对象的SKU属性信息建立所述一个或多个业务对象的第二倒排索引数据库。例如,由于每个业务对象包括一个或多个SKU属性信息,第二建库装置102可随机地选择或按累计频次优选该(等)业务对象中的若干个SKU属性信息,并根据所得到的SKU属性信息与该(等)业务对象的对应关系,建立该(等)业务对象的第二倒排索引数据库,其中,该第二倒排索引数据库中的记录信息以该(等)SKU属性信息为索引,并包括包含该索引SKU属性信息的至少一个业务对象。优选地,该(等)业务对象还配置有编码及SKU位,例如编码用于区分每个业务对象的对象标识信息,SKU位用于标识业务对象中的一特定SKU属性信息;相应地,所得到的第一倒排索引数据库中的记录信息包括其索引SKU属性信息与包含该索引SKU属性信息的业务对象的编码、该索引SKU属性信息在该业务对象中所对应的SKU位的映射关系。
本领域技术人员应能理解,在具体实施中,该第一建库装置与该第二建库装置可相独立,也可相集成;而且,建立第一倒排索引数据库与建立第二倒排索引数据库的操作可时序上相独立地被执行,例如或被串行执行、或被并行执行;此外,该第一倒排索引数据库或第二倒排索引数据库可存储于设备1的本地端,也可存储于可供设备1通过网络访问的第三方设备处。
接收装置103接收用户的查询序列。例如,接收装置103通过人机交互技术获取用户在业务对象搜索引擎界面所输入的按键序列和/或所选择的sku属性过滤条件,以作为用户输入的查询序列;或者,通过调用预定的应用编程接口API直接从业务对象搜索引擎获取用户输入的查询序列。本领域技术人员应能理解上述获得用户输入的查询序列的方式仅为举例,其他现有的或今后可能出现的获得用户输入的查询序列的方式如可适用于本申请,也应包含在本申请保护范围以内,并在此以引用方式包含于此。
第一查询装置104根据所述查询序列中的至少一个分词在所述第一倒排索引数据库中获取第一搜索结果。例如,第一查询装置104通过对接收装置103所接收的查询序列进行分词处理,得到该查询序列中的至少一个分词;根据该至少一个分词在所述第一倒排索引数据库中进行匹配查询,将所匹配得到的记录信息所包括的一个或多个业务对象作为第一搜索结果。在此,所匹配得到的记录信息的索引分词与该至少一个分词相匹配,例如,该索引分词包含该至少一个分词。
第二查询装置105提取所述查询序列中的SKU属性信息,根据提取的至少一项SKU属性信息在所述第二倒排索引数据库中获取第二搜索结果。例如,第二查询装置105根据预设的SKU特征字段从接收装置103所接收的查询序列中提取SKU属性信息;再根据所提取的至少一个SKU属性信息在所述第二倒排索引数据库中进行匹配查询,将所匹配得到的记录信息所包括的一个或多个业务对象作为第二搜索结果;特别地,当该第二倒排索引数据库中包括SKU属性信息与业务对象的编码、SKU位的映射关系时,所得到的第二搜索结果包括对应业务对象的编码及该SKU属性在该业务对象中对应的SKU位。在此,所匹配得到的记录信息的索引SKU属性信息与该至少一个SKU属性信息相匹配,例如,该索引SKU属性信息包含该至少一个SKU属性信息。优选地,本方案还可对由该至少一个SKU属性信息匹配获得的第二搜索结果进行逻辑“与”运算,从而得到与该查询序列中全部“SKU属性信息”相匹配的第二搜索结果;或者,本方案可根据查询序列中所有的SKU属性信息在第二倒排索引库中匹配获得最终的第二搜索结果。
例如,假设一共存在4个商品,分别用商品1至商品4表示,该4个商品的源数据如下:商品1是iphone5s,其颜色是白色、存储大小是16G、网络模式是GSM,商品2是iphone5s,其颜色是金色、存储大小是32G、网络模式是GSM,商品3是iphone4s,其颜色是白色、存储大小是16G、网络模式是GSM,商品4是iphone4s,其颜色是黑色、存储大小是32G、网络模式是WCDMA。针对该4个商品建立第一倒排索引数据库及第二倒排索引数据库。其中,第一倒排索引数据库中记录信息包括“iphone5s”(对应于商品1和商品2)和“iphone4s”(对应于商品3和商品4);第二倒排索引数据库中记录信息包括“白色16G GMS”(对应于商品1和商品3)、“金色32G GSM”(对应于商品2)、“黑色32G WCDMA”(对应于商品4)。若用户输入的查询序列是“iphone5s白色16G”,第一查询装置104在第一倒排索引数据库中对查询序列中分词“iphone5s”进行匹配查询得到第一搜索结果为{商品1,商品2},第二查询装置105在第二倒排索引数据库中对查询序列中SKU属性信息“白色16G”进行匹配查询得到第二搜索结果为{商品1,商品3}。
本领域技术人员应能理解,在具体实施中,该第一查询装置与该第二查询装置可相独立,也可相集成;而且,获取第一搜索结果与获取第二搜索结果的操作可时序上相独立地被执行,例如或被串行执行、或被并行执行。
确定装置106根据所述第一搜索结果及所述第二搜索结果确定目标搜索结果。例如,确定装置106通过对分别由第一查询装置和第二查询装置获得的第一搜索结果和第二搜索结果进行集合运算,来确定对应的目标搜索结果,例如,将该第一搜索结果与该第二搜索结果的交集作为对应的目标搜索结果。接前例,第一搜索结果是{商品1,商品2},第二搜索结果是{商品1,商品3},对第一搜索结果和第二搜索结果执行“与”操作,得到交集{商品1}作为目标搜素结果。本领域技术人员可以理解的是,本申请所提供的设备在利用第一搜索结果及第二搜索结果确定目标搜索结果时所并不仅限于上述“与”运算,凡是基于第一搜索结果及第二可以确定目标搜索结果的集合运算均包括在本申请所保护的范围内,为了简明起见,在此不再对集合运算可能存在的所有方式进行一一列举。
优选地,当所获得的第二搜索结果包括对应业务对象的编码及该SKU属性在该业务对象中对应的SKU位时,确定装置106可根据根据所述第一搜索结果中各搜索结果,以及所述第二搜索结果中各搜索结果所对应的编码及SKU位,确定目标搜索结果。
例如,该确定装置包括第一确定单元(未示出)及第二确定单元(未示出)。具体地,该第一确定单元将所述第一搜索结果中各搜索结果及所述第二搜索结果中各搜索结果进行与运算以获得第三搜索结果,例如根据各业务对象的编码进行与运算,将具有相同编码的业务对象作为第三搜索结果,在此,该第三搜索结果包括同时存在于第一搜索结果和第二搜索结果中的一个或多个业务对象;然后,该第二确定单元根据所述第三搜索结果中各搜索结果所对应的编码及SKU位,确定目标搜索结果,例如,根据该第三搜索结果中各业务对象及对应的SKU位确定各业务对象及其对应的SKU属性信息,并将该(等)业务对象及其对应的SKU属性信息作为目标搜索结果。优选地,该第二确定单元还可将所述第三搜索结果中各搜索结果所对应的SKU位进行与运算,以获得第四搜索结果,例如该第四搜索结果包括具有相同SKU位的各业务对象,在此,第四搜索结果中的各业务对象与该查询序列中的所有SKU属性信息相匹配;根据所述第四搜索结果中各搜索结果所对应的编码及SKU位,确定目标搜索结果,例如,根据该第四搜索结果中各业务对象及对应的SKU位确定各业务对象及其对应的SKU属性信息,并将该(等)业务对象及其对应的SKU属性信息作为目标搜索结果。
优选地,如果目标搜索结果为空集(即没有搜索到满足查询序列的商品)或目标搜索结果中包括的商品数量较少,本方案还可以根据查询序列分别在第一倒排索引数据库和第二倒排索引数据库中进行模糊匹配查询以获得第一搜索结果和第二搜索结果,再根据该第一搜索结果和第二搜索结果确定与用户待搜索的商品较为接近的商品作为目标搜索结果。例如,本方案可以根据查询序列中商品的部分SKU属性信息进行匹配查询;假设用户输入的查询序列是“iphone5s金色32G”,根据该查询序列匹配查询到的结果将为空集,那么,本方案可以利用“iphone5s金色”和/或“iphone5s32G”进行匹配查询,并根据匹配查询结果确定目标搜索结果。
下面,结合具体实施例对本申请所提供的一种用于确定搜索结果的设备进行说明。
具体地,假设商品搜索引擎中涉及型号为5s的苹果手机包括5种,该5种商品的源数据请参考表1。其中,表1的第一列为商品编号,第二列为商品标题,第三例为商品的SKU。下文中,将用商品1、商品2、商品3、商品4以及商品5分别表示该5种商品。以商品1为例说明,如表1所示,商品1的编号为1,标题是“顺丰包邮iphone5s国行”,该商品具有3个SKU,第1个SKU是“颜色:白色,存储大小:16G,网络模式:GSM”,第2个SKU是“颜色:金色,存储大小:16G,网络模式:GSM”,第3个SKU是“颜色:金色,存储大小:32G,网络模式:WCDMA”。为了简明起见,在此不再对商品2至商品5逐一进行说明。
表 1
通过表1可以获知上述5种商品的所有SKU属性,该所有SKU属性包括“颜色:白色”、“颜色:金色”、“颜色:黑色”、“存储大小:16G”、“存储大小:32G”、“存储大小:64G”、“网络模式:GSM”以及“网络模式:WCDMA”。针对上述5种商品的SKU属性采用倒排索引的方式建立第二倒排索引数据库(请参考表2)。如表2所示,该倒排索引的第一列为商品的SKU属性(即属性记录信息),第二列为针对于每一SKU属性的倒排表。其中,针对于每一SKU属性的倒排表进一步包括两部分,一部分是商品编号,该商品编号用于标识具有该SKU属性的商品,本领域技术人员可以理解的是,该部分并不仅仅限于商品编号,还可以是其他任何可以用于标识具有该SKU属性的商品的商品信息,为了简明起见,在此不再对所有可能的商品信息进行一一列举;另一部分是每一商品编号所对应的bitmap,该bitmap用于标识该商品编号所对应的商品的第几个SKU中包括该SKU属性。以SKU属性是“颜色:白色”为例说明,如表2所示,上述5种商品中商品1、商品2、商品3以及商品5均具有该SKU属性,即针对于该SKU属性的倒排表中的商品编号分别是1、2、3以及5,进一步地,该SKU属性出现在商品1的第1个SKU中、商品2的第1个SKU中、商品3的第1个SKU中以及商品5的第1个和第2个SKU中,因此,与商品编号1对应的bitmap置位为1,与商品编号2对应的bitmap置位为1,与商品编号3对应的bitmap置位为1,与商品编号5对应的bitmap置位为1和2。为了简明起见,在此不再对其他SKU属性及其倒排表一一进行说明。
表 2
除了针对于商品的SKU属性建立第二倒排索引数据库之外,还需要针对商品标题采用倒排索引的方式建立第一倒排索引数据库(请参考表3)。如表3所示,表3的第一列是商品标题关键词(即对象记录信息),该商品标题关键词可以通过对商品标题进行分词得到,第二列是针对于该商品标题关键词的倒排表,该倒排表中的商品编号用于标识哪些商品的标题中包括该商品标题关键词。以商品标题关键词“iphone5s”为例说明,如表3所示,商品1、商品2、商品3、商品4以及商品5的商品标题均包括“iphone5s”,因此,与商品标题关键词“iphone5s”对应的倒排表中的商品编号分别是1、2、3、4以及5。为了简明起见,在此不再对其他商品标题关键词及其倒排表一一进行说明。此外,需要说明的是,表3中仅仅列出了“iphone5s”和“苹果”两个关键词及其倒排表作为示意,为了简明起见,其他关键词及其倒排表不再一一列出。
表 3
当用户在商品搜索引擎中输入“iphone5s”并选择过滤条件为“颜色:白色”和“存储大小:32G”两个SKU属性进行搜索时:
接收装置103获取用户输入的查询序列“iphone5s颜色:白色存储大小:32G”。
第一查询装置104根据该查询序列中的分词“iphone5s”在商品标题关键词的倒排索引中进行查找,可以得到商品标题中包括“iphone5s”的商品的编号如下:
商品编号 | 1 | 2 | 3 | 4 | 5 |
第二查询装置105根据该查询序列中的SKU属性信息“颜色:白色”在商品SKU属性的倒排索引中进行查找,可以得到具有该SKU属性的商品的编号以及对应的bitmap如下:
商品编号 | 1 | 2 | 3 | 5 |
bitmap | 1 | 1 | 1 | 1,2 |
第二查询装置105根据该查询序列中的SKU属性信息“存储大小:32G”在商品SKU属性的倒排索引中进行查找,可以查找到满足该SKU属性的商品的编号以及对应的bitmap如下:
商品编号 | 1 | 4 | 5 |
bitmap | 3 | 2 | 1 |
确定装置106将通过“iphone5s”搜索得到的商品编号、以及通过SKU属性“颜色:白色”和“存储大小:32G”搜索得到的商品编号进行“与”逻辑归并运算,得到商品1和商品5,即,只有商品1和商品5既满足标题包括“iphone5s”的搜索条件、又满足所有SKU属性中包括“颜色:白色”和“存储大小:32G”的过滤条件。进一步,确定装置106对商品1和商品5进行bitmap“与”运算,得到商品5,即,只有商品5满足同一SKU中既具有“颜色:白色”又具有“存储大小:32G”两个SKU属性,因此,确定目标搜索结果为商品5。
下面,根据上述针对于SKU过滤的优选实施例对本申请所提供的一种用于确定搜索结果的设备的运算复杂度进行分析。具体地,假设用户输入的查询序列中作为过滤条件的SKU属性的数目为P,那么,首先在第一倒排索引数据库中针对于身份相关信息的查找的次数等于1、在第二倒排索引数据库中针对过滤条件中SKU属性的查找的次数等于P,接着针对于在第一倒排索引数据库中查找得到的结果以及在第二倒排索引数据库中查找得到的结果中的商品编号进行“与”逻辑归并运算的次数等于P+1,最后针对于对商品编号进行“与”逻辑归并运算后得到的结果进行bitmap“与”运算,在较为极端的情况下(即在第一倒排索引数据库中根据身份相关信息查找得到的商品的数目为K,而该K个商品中的每一商品均具有过滤条件中的P个SKU属性),bitmap“与”运算的次数等于K×P,而在实际情况中bitmap“与”运算的次数通常是远远小于K×P的。通过上述分析并结合背景技术中的分析可知,本申请所提供的设备在实现SKU过滤时的运算复杂度远远小于现有技术实现SKU过滤时的运算复杂度。
图4示出了根据本申请另一个方面的一种用于确定搜索结果的方法流程图。具体地,在步骤S201中,设备1获取一个或多个业务对象关联的分词,根据所述分词建立所述一个或多个业务对象的第一倒排索引数据库;在步骤S202中,设备1为所述一个或多个业务对象配置SKU属性信息,根据所述一个或多个业务对象的SKU属性信息建立所述一个或多个业务对象的第二倒排索引数据库;在步骤S203中,设备1接收用户的查询序列;在步骤S204中,设备1根据所述查询序列中的至少一个分词在所述第一倒排索引数据库中获取第一搜索结果;在步骤S205中,设备1提取所述查询序列中的SKU属性信息,根据提取的至少一项SKU属性信息在所述第二倒排索引数据库中获取第二搜索结果;在步骤S206中,设备1根据所述第一搜索结果及所述第二搜索结果确定目标搜索结果。
在此,设备1可以是本地设备,也可以是网络设备。其中,网络设备可由网络主机、单个网络服务器、多个网络服务器集或多个服务器构成的云等实现。在此,云由基于云计算(Cloud Computing)的大量主机或网络服务器构成,其中,云计算是分布式计算的一种,由一群松散耦合的计算机集组成的一个超级虚拟计算机。本领域技术人员应能理解上述设备仅为举例,其他现有的或今后可能出现的设备如可适用于本申请,也应包含在本申请保护范围以内,并在此以引用方式包含于此。在此,所述设备包括一种能够按照事先设定或存储的指令,自动进行数值计算和信息处理的电子设备,其硬件包括但不限于微处理器、专用集成电路(ASIC)、可编程门阵列(FPGA)、数字处理器(DSP)、嵌入式设备等。
在对本申请实施例所提供的用于确定搜索结果的方法流程进行详细描述之前,需要对本申请实施例所提供的方法流程所适用的业务对象进行说明。具体地,本申请所提供的方法流程所适用的业务对象具有如下特征:每个业务对象具有对应的一般描述信息,例如该业务对象的标题信息,还可以通过关于该业务对象的一个或多个SKU属性信息来描述。例如,商品是符合上述特征的一种非常典型的业务对象。一个商品“iPhone 5s”通常包括一般描述信息,例如“正品行货iphone5s”,还可以包括多个SKU属性信息,例如“颜色:白色,存储大小:16G,网络模式:GSM”、“颜色:金色,存储大小:16G,网络模式:GSM”以及“颜色:金色,存储大小:32G,网络模式:WCDMA”。当用户通过商品的一般描述信息“iphone5s”以及该商品的SKU属性相关信息“颜色:白色,存储大小:16G”进行查询时,即可使用本申请所提供的方法流程以获得满足该查询条件的苹果手机。本领域技术人员可以理解的是,本申请实施例所提供的用于确定搜索结果的方法流程并不仅仅适用于商品,凡是符合上述特征的业务对象均包括在本申请所保护的范围内。举例说明,若业务对象是公司所有的员工,则员工的职位、部门等用来描述该业务对象的一般描述信息,员工的性别、年龄等用来描述该业务对象的SKU属性信息,如“产品经理男35岁以下”,等等。为了简明起见,在此不再对本申请可能适用的所有业务对象进行一一列举。下文中,仅以业务对象是商品为例对本申请实施例所提供的用于确定搜索结果的方法流程进行说明,其中,用户通过指定商品的至少一个SKU属性作为过滤条件的商品搜索方式称为SKU过滤。本领域技术人员应能理解,本方案适用于包括商品在内的所有业务对象。
具体地,在步骤S201中,设备1获取一个或多个业务对象关联的分词,根据所述分词建立所述一个或多个业务对象的第一倒排索引数据库。例如,该在步骤S201中,设备1通过对一个或多个业务对象的一般描述信息进行分词处理,获得该(等)业务对象关联的分词,或者通过直接从第三方数据库中读取该(等)业务对象所对应的分词;接着,根据所得到分词与该(等)业务对象的对应关系,建立该(等)业务对象的第一倒排索引数据库,其中,该第一倒排索引数据库中的记录信息以该(等)分词为索引,并包括包含该索引分词的至少一个业务对象。优选地,该(等)业务对象还配置有编码,例如用于区分每个业务对象的对象标识信息;相应地,所得到的第一倒排索引数据库中的记录信息包括其索引分词与包含该索引分词的业务对象的编码的映射关系。
在步骤S202中,设备1为所述一个或多个业务对象配置SKU属性信息,根据所述一个或多个业务对象的SKU属性信息建立所述一个或多个业务对象的第二倒排索引数据库。例如,由于每个业务对象包括一个或多个SKU属性信息,在步骤S202中,设备1可随机地选择或按累计频次优选该(等)业务对象中的若干个SKU属性信息,并根据所得到的SKU属性信息与该(等)业务对象的对应关系,建立该(等)业务对象的第二倒排索引数据库,其中,该第二倒排索引数据库中的记录信息以该(等)SKU属性信息为索引,并包括包含该索引SKU属性信息的至少一个业务对象。优选地,该(等)业务对象还配置有编码及SKU位,例如编码用于区分每个业务对象的对象标识信息,SKU位用于标识业务对象中的一特定SKU属性信息;相应地,所得到的第一倒排索引数据库中的记录信息包括其索引SKU属性信息与包含该索引SKU属性信息的业务对象的编码、该索引SKU属性信息在该业务对象中所对应的SKU位的映射关系。
本领域技术人员应能理解,在具体实施中,建立第一倒排索引数据库与建立第二倒排索引数据库的操作可时序上相独立地被执行,例如或被串行执行、或被并行执行;此外,该第一倒排索引数据库或第二倒排索引数据库可存储于设备1的本地端,也可存储于可供设备1通过网络访问的第三方设备处。
在步骤S203中,设备1接收用户的查询序列。例如,在步骤S203中,设备1通过人机交互技术获取用户在业务对象搜索引擎界面所输入的按键序列和/或所选择的sku属性过滤条件,以作为用户输入的查询序列;或者,通过调用预定的应用编程接口API直接从业务对象搜索引擎获取用户输入的查询序列。本领域技术人员应能理解上述获得用户输入的查询序列的方式仅为举例,其他现有的或今后可能出现的获得用户输入的查询序列的方式如可适用于本申请,也应包含在本申请保护范围以内,并在此以引用方式包含于此。
在步骤S204中,设备1根据所述查询序列中的至少一个分词在所述第一倒排索引数据库中获取第一搜索结果。例如,在步骤S204中,设备1通过对在步骤S203中设备1所接收的查询序列进行分词处理,得到该查询序列中的至少一个分词;根据该至少一个分词在所述第一倒排索引数据库中进行匹配查询,将所匹配得到的记录信息所包括的一个或多个业务对象作为第一搜索结果。在此,所匹配得到的记录信息的索引分词与该至少一个分词相匹配,例如,该索引分词包含该至少一个分词。
在步骤S205中,设备1提取所述查询序列中的SKU属性信息,根据提取的至少一项SKU属性信息在所述第二倒排索引数据库中获取第二搜索结果。例如,在步骤S205中,设备1根据预设的SKU特征字段从在步骤S203中设备1所接收的查询序列中提取SKU属性信息;再根据所提取的至少一个SKU属性信息在所述第二倒排索引数据库中进行匹配查询,将所匹配得到的记录信息所包括的一个或多个业务对象作为第二搜索结果;特别地,当该第二倒排索引数据库中包括SKU属性信息与业务对象的编码、SKU位的映射关系时,所得到的第二搜索结果包括对应业务对象的编码及该SKU属性在该业务对象中对应的SKU位。在此,所匹配得到的记录信息的索引SKU属性信息与该至少一个SKU属性信息相匹配,例如,该索引SKU属性信息包含该至少一个SKU属性信息。优选地,本方案还可对由该至少一个SKU属性信息匹配获得的第二搜索结果进行逻辑“与”运算,从而得到与该查询序列中全部“SKU属性信息”相匹配的第二搜索结果;或者,本方案可根据查询序列中所有的SKU属性信息在第二倒排索引库中匹配获得最终的第二搜索结果。
例如,假设一共存在4个商品,分别用商品1至商品4表示,该4个商品的源数据如下:商品1是iphone5s,其颜色是白色、存储大小是16G、网络模式是GSM,商品2是iphone5s,其颜色是金色、存储大小是32G、网络模式是GSM,商品3是iphone4s,其颜色是白色、存储大小是16G、网络模式是GSM,商品4是iphone4s,其颜色是黑色、存储大小是32G、网络模式是WCDMA。针对该4个商品建立第一倒排索引数据库及第二倒排索引数据库。其中,第一倒排索引数据库中记录信息包括“iphone5s”(对应于商品1和商品2)和“iphone4s”(对应于商品3和商品4);第二倒排索引数据库中记录信息包括“白色16G GMS”(对应于商品1和商品3)、“金色32G GSM”(对应于商品2)、“黑色32G WCDMA”(对应于商品4)。若用户输入的查询序列是“iphone5s白色16G”,在步骤S204中,设备1在第一倒排索引数据库中对查询序列中分词“iphone5s”进行匹配查询得到第一搜索结果为{商品1,商品2},在步骤S205中,设备1在第二倒排索引数据库中对查询序列中SKU属性信息“白色16G”进行匹配查询得到第二搜索结果为{商品1,商品3}。
本领域技术人员应能理解,在具体实施中,获取第一搜索结果与获取第二搜索结果的操作可时序上相独立地被执行,例如或被串行执行、或被并行执行。
在步骤S206中,设备1根据所述第一搜索结果及所述第二搜索结果确定目标搜索结果。例如,在步骤S206中,设备1通过对分别由第一查询装置和第二查询装置获得的第一搜索结果和第二搜索结果进行集合运算,来确定对应的目标搜索结果,例如,将该第一搜索结果与该第二搜索结果的交集作为对应的目标搜索结果。接前例,第一搜索结果是{商品1,商品2},第二搜索结果是{商品1,商品3},对第一搜索结果和第二搜索结果执行“与”操作,得到交集{商品1}作为目标搜素结果。本领域技术人员可以理解的是,本申请所提供的方法流程在利用第一搜索结果及第二搜索结果确定目标搜索结果时所并不仅限于上述“与”运算,凡是基于第一搜索结果及第二可以确定目标搜索结果的集合运算均包括在本申请所保护的范围内,为了简明起见,在此不再对集合运算可能存在的所有方式进行一一列举。
优选地,当所获得的第二搜索结果包括对应业务对象的编码及该SKU属性在该业务对象中对应的SKU位时,在步骤S206中,设备1可根据根据所述第一搜索结果中各搜索结果,以及所述第二搜索结果中各搜索结果所对应的编码及SKU位,确定目标搜索结果。
例如,该步骤S206包括步骤S2061(未示出)及步骤S2061(未示出)。具体地,在步骤S2061中,设备1将所述第一搜索结果中各搜索结果及所述第二搜索结果中各搜索结果进行与运算以获得第三搜索结果,例如根据各业务对象的编码进行与运算,将具有相同编码的业务对象作为第三搜索结果,在此,该第三搜索结果包括同时存在于第一搜索结果和第二搜索结果中的一个或多个业务对象;然后,在步骤S2062中,设备1根据所述第三搜索结果中各搜索结果所对应的编码及SKU位,确定目标搜索结果,例如,根据该第三搜索结果中各业务对象及对应的SKU位确定各业务对象及其对应的SKU属性信息,并将该(等)业务对象及其对应的SKU属性信息作为目标搜索结果。优选地,在步骤S2062中,设备1还可将所述第三搜索结果中各搜索结果所对应的SKU位进行与运算,以获得第四搜索结果,例如该第四搜索结果包括具有相同SKU位的各业务对象,在此,第四搜索结果中的各业务对象与该查询序列中的所有SKU属性信息相匹配;根据所述第四搜索结果中各搜索结果所对应的编码及SKU位,确定目标搜索结果,例如,根据该第四搜索结果中各业务对象及对应的SKU位确定各业务对象及其对应的SKU属性信息,并将该(等)业务对象及其对应的SKU属性信息作为目标搜索结果。
优选地,如果目标搜索结果为空集(即没有搜索到满足查询序列的商品)或目标搜索结果中包括的商品数量较少,本方案还可以根据查询序列分别在第一倒排索引数据库和第二倒排索引数据库中进行模糊匹配查询以获得第一搜索结果和第二搜索结果,再根据该第一搜索结果和第二搜索结果确定与用户待搜索的商品较为接近的商品作为目标搜索结果。例如,本方案可以根据查询序列中商品的部分SKU属性信息进行匹配查询;假设用户输入的查询序列是“iphone5s金色32G”,根据该查询序列匹配查询到的结果将为空集,那么,本方案可以利用“iphone5s金色”和/或“iphone5s32G”进行匹配查询,并根据匹配查询结果确定目标搜索结果。
下面,结合具体实施例对本申请所提供的一种用于确定搜索结果的方法流程进行说明。
具体地,假设商品搜索引擎中涉及型号为5s的苹果手机包括5种,该5种商品的源数据请参考表4。其中,表4的第一列为商品编号,第二列为商品标题,第三例为商品的SKU。下文中,将用商品1、商品2、商品3、商品4以及商品5分别表示该5种商品。以商品1为例说明,如表1所示,商品1的编号为1,标题是“顺丰包邮iphone5s国行”,该商品具有3个SKU,第1个SKU是“颜色:白色,存储大小:16G,网络模式:GSM”,第2个SKU是“颜色:金色,存储大小:16G,网络模式:GSM”,第3个SKU是“颜色:金色,存储大小:32G,网络模式:WCDMA”。为了简明起见,在此不再对商品2至商品5逐一进行说明。
表 4
通过表4可以获知上述5种商品的所有SKU属性,该所有SKU属性包括“颜色:白色”、“颜色:金色”、“颜色:黑色”、“存储大小:16G”、“存储大小:32G”、“存储大小:64G”、“网络模式:GSM”以及“网络模式:WCDMA”。针对上述5种商品的SKU属性采用倒排索引的方式建立第二倒排索引数据库(请参考表5)。如表5所示,该倒排索引的第一列为商品的SKU属性(即属性记录信息),第二列为针对于每一SKU属性的倒排表。其中,针对于每一SKU属性的倒排表进一步包括两部分,一部分是商品编号,该商品编号用于标识具有该SKU属性的商品,本领域技术人员可以理解的是,该部分并不仅仅限于商品编号,还可以是其他任何可以用于标识具有该SKU属性的商品的商品信息,为了简明起见,在此不再对所有可能的商品信息进行一一列举;另一部分是每一商品编号所对应的bitmap,该bitmap用于标识该商品编号所对应的商品的第几个SKU中包括该SKU属性。以SKU属性是“颜色:白色”为例说明,如表2所示,上述5种商品中商品1、商品2、商品3以及商品5均具有该SKU属性,即针对于该SKU属性的倒排表中的商品编号分别是1、2、3以及5,进一步地,该SKU属性出现在商品1的第1个SKU中、商品2的第1个SKU中、商品3的第1个SKU中以及商品5的第1个和第2个SKU中,因此,与商品编号1对应的bitmap置位为1,与商品编号2对应的bitmap置位为1,与商品编号3对应的bitmap置位为1,与商品编号5对应的bitmap置位为1和2。为了简明起见,在此不再对其他SKU属性及其倒排表一一进行说明。
表 5
除了针对于商品的SKU属性建立第二倒排索引数据库之外,还需要针对商品标题采用倒排索引的方式建立第一倒排索引数据库(请参考表6)。如表6所示,表6的第一列是商品标题关键词(即对象记录信息),该商品标题关键词可以通过对商品标题进行分词得到,第二列是针对于该商品标题关键词的倒排表,该倒排表中的商品编号用于标识哪些商品的标题中包括该商品标题关键词。以商品标题关键词“iphone5s”为例说明,如表3所示,商品1、商品2、商品3、商品4以及商品5的商品标题均包括“iphone5s”,因此,与商品标题关键词“iphone5s”对应的倒排表中的商品编号分别是1、2、3、4以及5。为了简明起见,在此不再对其他商品标题关键词及其倒排表一一进行说明。此外,需要说明的是,表6中仅仅列出了“iphone5s”和“苹果”两个关键词及其倒排表作为示意,为了简明起见,其他关键词及其倒排表不再一一列出。
表 6
当用户在商品搜索引擎中输入“iphone5s”并选择过滤条件为“颜色:白色”和“存储大小:32G”两个SKU属性进行搜索时:
在步骤S203中,设备1获取用户输入的查询序列“iphone5s颜色:白色存储大小:32G”。
在步骤S204中,设备1根据该查询序列中的分词“iphone5s”在商品标题关键词的倒排索引中进行查找,可以得到商品标题中包括“iphone5s”的商品的编号如下:
商品编号 | 1 | 2 | 3 | 4 | 5 |
在步骤S205中,设备1根据该查询序列中的SKU属性信息“颜色:白色”在商品SKU属性的倒排索引中进行查找,可以得到具有该SKU属性的商品的编号以及对应的bitmap如下:
商品编号 | 1 | 2 | 3 | 5 |
bitmap | 1 | 1 | 1 | 1,2 |
在步骤S205中,设备1根据该查询序列中的SKU属性信息“存储大小:32G”在商品SKU属性的倒排索引中进行查找,可以查找到满足该SKU属性的商品的编号以及对应的bitmap如下:
商品编号 | 1 | 4 | 5 |
bitmap | 3 | 2 | 1 |
在步骤S206中,设备1将通过“iphone5s”搜索得到的商品编号、以及通过SKU属性“颜色:白色”和“存储大小:32G”搜索得到的商品编号进行“与”逻辑归并运算,得到商品1和商品5,即,只有商品1和商品5既满足标题包括“iphone5s”的搜索条件、又满足所有SKU属性中包括“颜色:白色”和“存储大小:32G”的过滤条件。进一步,在步骤S206中,设备1对商品1和商品5进行bitmap“与”运算,得到商品5,即,只有商品5满足同一SKU中既具有“颜色:白色”又具有“存储大小:32G”两个SKU属性,因此,确定目标搜索结果为商品5。
下面,根据上述针对于SKU过滤的优选实施例对本申请所提供的一种用于确定搜索结果的方法流程的运算复杂度进行分析。具体地,假设用户输入的查询序列中作为过滤条件的SKU属性的数目为P,那么,首先在第一倒排索引数据库中针对于身份相关信息的查找的次数等于1、在第二倒排索引数据库中针对过滤条件中SKU属性的查找的次数等于P,接着针对于在第一倒排索引数据库中查找得到的结果以及在第二倒排索引数据库中查找得到的结果中的商品编号进行“与”逻辑归并运算的次数等于P+1,最后针对于对商品编号进行“与”逻辑归并运算后得到的结果进行bitmap“与”运算,在较为极端的情况下(即在第一倒排索引数据库中根据身份相关信息查找得到的商品的数目为K,而该K个商品中的每一商品均具有过滤条件中的P个SKU属性),bitmap“与”运算的次数等于K×P,而在实际情况中bitmap“与”运算的次数通常是远远小于K×P的。通过上述分析并结合背景技术中的分析可知,本申请所提供的方法流程在实现SKU过滤时的运算复杂度远远小于现有技术实现SKU过滤时的运算复杂度。
需要注意的是,本申请可在软件和/或软件与硬件的组合体中被实施,例如,可采用专用集成电路(ASIC)、通用目的计算机或任何其他类似硬件设备来实现。在一个实施例中,本申请的软件程序可以通过处理器执行以实现上文所述步骤或功能。同样地,本申请的软件程序(包括相关的数据结构)可以被存储到计算机可读记录介质中,例如,RAM存储器,磁或光驱动器或软磁盘及类似设备。另外,本申请的一些步骤或功能可采用硬件来实现,例如,作为与处理器配合从而执行各个步骤或功能的电路。
另外,本申请的一部分可被应用为计算机程序产品,例如计算机程序指令,当其被计算机执行时,通过该计算机的操作,可以调用或提供根据本申请的方法和/或技术方案。而调用本申请的方法的程序指令,可能被存储在固定的或可移动的记录介质中,和/或通过广播或其他信号承载媒体中的数据流而被传输,和/或被存储在根据所述程序指令运行的计算机设备的工作存储器中。在此,根据本申请的一个实施例包括一个装置,该装置包括用于存储计算机程序指令的存储器和用于执行程序指令的处理器,其中,当该计算机程序指令被该处理器执行时,触发该装置运行基于前述根据本申请的多个实施例的方法和/或技术方案。
对于本领域技术人员而言,显然本申请不限于上述示范性实施例的细节,而且在不背离本申请的精神或基本特征的情况下,能够以其他的具体形式实现本申请。因此,无论从哪一点来看,均应将实施例看作是示范性的,而且是非限制性的,本申请的范围由所附权利要求而不是上述说明限定,因此旨在将落在权利要求的等同要件的含义和范围内的所有变化涵括在本申请内。不应将权利要求中的任何附图标记视为限制所涉及的权利要求。此外,显然“包括”一词不排除其他单元或步骤,单数不排除复数。装置权利要求中陈述的多个单元或装置也可以由一个单元或装置通过软件或者硬件来实现。第一,第二等词语用来表示名称,而并不表示任何特定的顺序。
Claims (14)
1.一种用于确定搜索结果的方法,其中,该方法包括:
获取一个或多个业务对象关联的分词;根据所述分词建立所述一个或多个业务对象的第一倒排索引数据库;
为所述一个或多个业务对象配置SKU属性信息;根据所述一个或多个业务对象的SKU属性信息建立所述一个或多个业务对象的第二倒排索引数据库;所述第二倒排索引数据库以所述SKU属性信息为索引;
接收用户的查询序列;
根据所述查询序列中的至少一个分词在所述第一倒排索引数据库中获取第一搜索结果;
提取所述查询序列中的SKU属性信息,根据提取的至少一项SKU属性信息在所述第二倒排索引数据库中获取第二搜索结果;
根据所述第一搜索结果及所述第二搜索结果确定目标搜索结果。
2.根据权利要求1所述的方法,其中,所述业务对象还配置有编码,所述根据所述分词建立所述一个或多个业务对象的第一倒排索引数据库包括:
在第一倒排索引数据库中建立所述分词与所述业务对象的编码的映射关系。
3.根据权利要求1所述的方法,其中,所述业务对象还配置有编码及SKU位,根据所述一个或多个业务对象的SKU属性信息建立所述一个或多个业务对象的第二倒排索引数据库包括:
在第二倒排索引数据库中建立所述SKU属性信息与所述业务对象的编码、SKU位的映射关系。
4.根据权利要求3所述的方法,其中,根据所述第一搜索结果及所述第二搜索结果确定目标搜索结果包括:
根据所述第一搜索结果中各搜索结果,以及所述第二搜索结果中各搜索结果所对应的编码及SKU位,确定目标搜索结果。
5.根据权利要求4所述的方法,其中,根据所述第一搜索结果中各搜索结果,以及所述第二搜索结果中各搜索结果所对应的编码及SKU位,确定目标搜索结果包括:
将所述第一搜索结果中各搜索结果及所述第二搜索结果中各搜索结果进行与运算,以获得第三搜索结果;
根据所述第三搜索结果中各搜索结果所对应的编码及SKU位,确定目标搜索结果。
6.根据权利要求5所述的方法,其中,根据所述第三搜索结果中各搜索结果所对应的编码及SKU位确定目标搜索结果包括:
将所述第三搜索结果中各搜索结果所对应的SKU位进行与运算,以获得第四搜索结果;
根据所述第四搜索结果中各搜索结果所对应的编码及SKU位,确定目标搜索结果。
7.根据权利要求1至6中任一项所述的方法,其中,根据所述第一搜索结果及所述第二搜索结果确定所述目标搜索结果包括:
通过对所述第一搜索结果及所述第二搜索结果进行集合运算,确定所述目标搜索结果。
8.一种用于确定搜索结果的设备,其中,该设备包括:
第一建库装置,用于获取一个或多个业务对象关联的分词;根据所述分词建立所述一个或多个业务对象的第一倒排索引数据库;
第二建库装置,用于为所述一个或多个业务对象配置SKU属性信息;根据所述一个或多个业务对象的SKU属性信息建立所述一个或多个业务对象的第二倒排索引数据库;所述第二倒排索引数据库以所述SKU属性信息为索引;
接收装置,用于接收用户的查询序列;
第一查询装置,用于根据所述查询序列中的至少一个分词在所述第一倒排索引数据库中获取第一搜索结果;
第二查询装置,用于提取所述查询序列中的SKU属性信息,根据提取的至少一项SKU属性信息在所述第二倒排索引数据库中获取第二搜索结果;
确定装置,用于根据所述第一搜索结果及所述第二搜索结果确定目标搜索结果。
9.根据权利要求8所述的设备,其中,所述业务对象还配置有编码,所述根据所述分词建立所述一个或多个业务对象的第一倒排索引数据库包括:
在第一倒排索引数据库中建立所述分词与所述业务对象的编码的映射关系。
10.根据权利要求8所述的设备,其中,所述业务对象还配置有编码及SKU位,根据所述一个或多个业务对象的SKU属性信息建立所述一个或多个业务对象的第二倒排索引数据库包括:
在第二倒排索引数据库中建立所述SKU属性信息与所述业务对象的编码、SKU位的映射关系。
11.根据权利要求10所述的设备,其中,所述确定装置用于:
根据所述第一搜索结果中各搜索结果,以及所述第二搜索结果中各搜索结果所对应的编码及SKU位,确定目标搜索结果。
12.根据权利要求11所述的设备,其中,所述确定装置包括:
第一确定单元,用于将所述第一搜索结果中各搜索结果及所述第二搜索结果中各搜索结果进行与运算,以获得第三搜索结果;
第二确定单元,用于根据所述第三搜索结果中各搜索结果所对应的编码及SKU位,确定目标搜索结果。
13.根据权利要求12所述的设备,其中,所述第二确定单元用于:
将所述第三搜索结果中各搜索结果所对应的SKU位进行与运算,以获得第四搜索结果;
根据所述第四搜索结果中各搜索结果所对应的编码及SKU位,确定目标搜索结果。
14.根据权利要求8至13中任一项所述的设备,其中,所述确定装置用于:
通过对所述第一搜索结果及所述第二搜索结果进行集合运算,确定所述目标搜索结果。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410461634.7A CN105404627B (zh) | 2014-09-11 | 2014-09-11 | 一种用于确定搜索结果的方法与设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410461634.7A CN105404627B (zh) | 2014-09-11 | 2014-09-11 | 一种用于确定搜索结果的方法与设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105404627A CN105404627A (zh) | 2016-03-16 |
CN105404627B true CN105404627B (zh) | 2019-07-30 |
Family
ID=55470118
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410461634.7A Active CN105404627B (zh) | 2014-09-11 | 2014-09-11 | 一种用于确定搜索结果的方法与设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105404627B (zh) |
Families Citing this family (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106599291B (zh) * | 2016-12-26 | 2019-10-25 | 腾讯科技(深圳)有限公司 | 数据分组方法及装置 |
CN108572857B (zh) * | 2017-03-10 | 2022-03-01 | 阿里巴巴集团控股有限公司 | 提供数据对象颜色属性信息的方法、装置及电子设备 |
CN111695841A (zh) * | 2019-03-11 | 2020-09-22 | 北京京东尚科信息技术有限公司 | 分配货物方法、装置、设备和计算机可读介质 |
CN110347788A (zh) * | 2019-06-12 | 2019-10-18 | 平安科技(深圳)有限公司 | 业务查询方法、装置及存储介质、计算机设备 |
CN110222203B (zh) * | 2019-06-19 | 2023-04-07 | 深圳前海微众银行股份有限公司 | 元数据搜索方法、装置、设备及计算机可读存储介质 |
CN112182293A (zh) * | 2019-07-02 | 2021-01-05 | 百度在线网络技术(北京)有限公司 | 视频提供方法、装置、电子设备及存储介质 |
CN110377797A (zh) * | 2019-07-31 | 2019-10-25 | 重庆大司空信息科技有限公司 | 一种职业资格检索方法和系统 |
CN112559514B (zh) * | 2019-09-25 | 2023-04-25 | 上海哔哩哔哩科技有限公司 | 一种信息处理方法及系统 |
CN112214573A (zh) * | 2020-10-30 | 2021-01-12 | 数贸科技(北京)有限公司 | 信息搜索系统、方法、计算设备及计算机存储介质 |
CN112530086A (zh) * | 2020-12-16 | 2021-03-19 | 合肥美的智能科技有限公司 | 自动售货柜及其商品sku计算方法、系统以及远程服务器 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103593343A (zh) * | 2012-08-13 | 2014-02-19 | 腾讯科技(深圳)有限公司 | 一种电子商务平台中的信息检索方法和装置 |
CN103823893A (zh) * | 2014-03-11 | 2014-05-28 | 北京大学 | 一种基于用户评论的产品检索方法及产品检索系统 |
CN103970761A (zh) * | 2013-01-28 | 2014-08-06 | 阿里巴巴集团控股有限公司 | 一种商品数据搜索方法及装置 |
CN104063523A (zh) * | 2014-07-21 | 2014-09-24 | 焦点科技股份有限公司 | 一种电子商务搜索评分与排名的方法及系统 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8543564B2 (en) * | 2002-12-23 | 2013-09-24 | West Publishing Company | Information retrieval systems with database-selection aids |
-
2014
- 2014-09-11 CN CN201410461634.7A patent/CN105404627B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103593343A (zh) * | 2012-08-13 | 2014-02-19 | 腾讯科技(深圳)有限公司 | 一种电子商务平台中的信息检索方法和装置 |
CN103970761A (zh) * | 2013-01-28 | 2014-08-06 | 阿里巴巴集团控股有限公司 | 一种商品数据搜索方法及装置 |
CN103823893A (zh) * | 2014-03-11 | 2014-05-28 | 北京大学 | 一种基于用户评论的产品检索方法及产品检索系统 |
CN104063523A (zh) * | 2014-07-21 | 2014-09-24 | 焦点科技股份有限公司 | 一种电子商务搜索评分与排名的方法及系统 |
Also Published As
Publication number | Publication date |
---|---|
CN105404627A (zh) | 2016-03-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105404627B (zh) | 一种用于确定搜索结果的方法与设备 | |
US8775401B2 (en) | Shape based picture search | |
JP5575902B2 (ja) | クエリのセマンティックパターンに基づく情報検索 | |
RU2614933C2 (ru) | Способ и устройство для поиска информации на электронной коммерческой платформе | |
US10579589B2 (en) | Data filtering | |
CN109062936B (zh) | 一种数据查询方法、计算机可读存储介质及终端设备 | |
CN109213921A (zh) | 一种商品信息的搜索方法及装置 | |
CN107015987B (zh) | 一种更新和搜索数据库的方法及设备 | |
CN110704418A (zh) | 区块链信息查询方法、装置和设备 | |
CN104794146A (zh) | 商品实时筛选和排序的方法和装置 | |
CN112506925A (zh) | 一种基于区块链的数据检索系统及方法 | |
CN107092609A (zh) | 一种信息推送方法及装置 | |
CN103778239A (zh) | 一种多数据库数据管理方法及系统 | |
CN108920592B (zh) | 数据库字段关联方法及装置 | |
US20160188634A1 (en) | Product identification via image analysis | |
CN103810300A (zh) | 用于非索引覆盖的数据查询方法和装置 | |
CN106934679A (zh) | 信息匹配方法及装置 | |
CN106933919A (zh) | 数据表的连接方法及装置 | |
CN105335386A (zh) | 一种提供导航标签的方法及装置 | |
US10885453B2 (en) | Calculation device, calculation method, and non-transitory computer-readable recording medium | |
CN107729330A (zh) | 获取数据集的方法和装置 | |
CN111367956A (zh) | 数据统计方法及装置 | |
CN103678458A (zh) | 用于图像分析的方法和系统 | |
CN112069269A (zh) | 基于大数据和多维特征的数据溯源方法及大数据云服务器 | |
CN104182546A (zh) | 数据库的数据查询方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |