CN108536763B - 一种下拉提示方法和装置 - Google Patents

一种下拉提示方法和装置 Download PDF

Info

Publication number
CN108536763B
CN108536763B CN201810235411.7A CN201810235411A CN108536763B CN 108536763 B CN108536763 B CN 108536763B CN 201810235411 A CN201810235411 A CN 201810235411A CN 108536763 B CN108536763 B CN 108536763B
Authority
CN
China
Prior art keywords
attribute
index
search
pull
user terminal
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
Application number
CN201810235411.7A
Other languages
English (en)
Other versions
CN108536763A (zh
Inventor
张晓明
魏宏
饶星
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Advanced New Technologies Co Ltd
Advantageous New Technologies Co Ltd
Original Assignee
Advanced New Technologies Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Advanced New Technologies Co Ltd filed Critical Advanced New Technologies Co Ltd
Priority to CN201810235411.7A priority Critical patent/CN108536763B/zh
Publication of CN108536763A publication Critical patent/CN108536763A/zh
Priority to PCT/CN2019/070047 priority patent/WO2019179208A1/zh
Priority to TW108100524A priority patent/TWI696925B/zh
Application granted granted Critical
Publication of CN108536763B publication Critical patent/CN108536763B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/31Indexing; Data structures therefor; Storage structures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/33Querying
    • G06F16/335Filtering based on additional data, e.g. user or group profiles

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Computational Linguistics (AREA)
  • Information Transfer Between Computers (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本说明书实施例提供了一种建立下拉提示索引的方法和装置、用于下拉提示的搜索方法和装置以及下拉提示方法和装置。所述建立下拉提示索引的方法在服务器端执行,包括:获取所述用户终端APP中每个业务的用于下拉提示的多个词条;获取每个词条的至少一个属性;建立前缀索引,其中,所述前缀索引包括每个词条的前缀到其自身的倒排索引;以及建立属性索引,其中所述属性索引包括每个词条与其各个属性之间的索引。

Description

一种下拉提示方法和装置
技术领域
本说明书实施例涉及搜索引擎领域,更具体地,涉及一种建立下拉提示索引的方法、以及在服务器端和用户终端APP端的用于下拉提示的方法和装置。
背景技术
在用户终端APP的应用中,通常会设置对应于各个业务的多个搜索框。当用户在搜索框中输入查询内容时,一般会对用户显示下拉提示词条。目前下拉提示的技术方案主要包括:基于trie树的下拉提示***、以及加载多份不同的下拉提示索引以支持多个业务的下拉提示***。然而,随着业务的更新,出现了对下拉提示的新的要求。例如,在O2O等新业务场景中,需要同时使用地理位置等其他复杂的召回和过滤条件,以及复杂的排序策略。因此,需要一种更有效的下拉提示方案。
发明内容
本说明书实施例旨在提供一种更有效的下拉提示方法,以解决现有技术中的不足。
为实现上述目的,本说明书一个方面提供一种建立下拉提示索引的方法,所述下拉提示用于用户终端APP中所包括的至少一个搜索框,每个搜索框设置于所述APP中的对应业务中,所述方法在服务器端执行,包括:获取所述用户终端APP中每个业务的用于下拉提示的多个词条;获取每个词条的至少一个属性;建立前缀索引,其中,所述前缀索引包括每个词条的前缀到其自身的倒排索引;以及建立属性索引,其中所述属性索引包括每个词条与其各个属性之间的索引。
在一个实施例中,在上述建立下拉提示索引的方法中,所述至少一个属性包括以下至少一个:业务类型、查询次数、结果数、点击次数、点击通过率、地理位置、城市以及地址。
在一个实施例中,在上述建立下拉提示索引的方法中,所述建立属性索引包括,建立第一词条到其第一属性的正排索引。
在一个实施例中,在上述建立下拉提示索引的方法中,所述建立属性索引包括,建立第二词条的第二属性到第二词条的倒排索引。
在一个实施例中,在上述建立下拉提示索引的方法中,所述建立前缀索引包括离线建立前缀索引;以及所述建立属性索引包括离线建立属性索引。
在一个实施例中,在上述建立下拉提示索引的方法中,所述建立第一词条到其第一属性的正排索引包括,对所述第一词条设置多个词条子文档,用于分别建立所述第一词条到在不同城市的第一属性的正排索引。
在一个实施例中,在上述建立下拉提示索引的方法中,所述建立前缀索引包括,获取第三词条包括的最大语义粒度词,以及建立所述最大语义粒度词及其各自的前缀到所述第三词条的倒排索引。
本说明书另一方面提供一种用于下拉提示的搜索方法,所述下拉提示用于用户终端APP中所包括的至少一个搜索框,每个搜索框设置于所述APP中的对应业务中,所述方法在服务器端执行,包括:从用户终端APP接收用户在搜索框中输入的查询内容;从用户终端APP接收与用户终端、用户终端APP或用户相关的至少一个属性;获取与所述搜索框对应的业务的搜索条件;通过根据上述建立索引的方法获得的前缀索引,搜索出与该查询内容对应的多个词条;以及根据所述搜索条件和所述至少一个属性,通过根据上述建立索引的方法获得的属性索引,对所述多个词条进行过滤,从而获得搜索结果。
在一个实施例中,所述用于下拉提示的搜索方法还包括,在获得搜索结果之后,获取与所述搜索框对应的业务的排序方法;以及通过所述排序方法对所述搜索结果进行排序。
在一个实施例中,在上述用于下拉提示的搜索方法中,所述至少一个属性包括以下至少一个:搜索框业务类型、用户终端地理位置、用户终端城市和用户查询时间。
在一个实施例中,在上述用于下拉提示的搜索方法中,根据所述搜索条件和所述至少一个属性,通过根据上述建立索引的方法获得的属性索引,对所述多个词条进行过滤包括:根据将词条业务类型限定为所述搜索框业务类型的搜索条件,过滤掉不属于所述搜索框业务类型的词条。
本说明书另一方面提供一种下拉提示方法,所述下拉提示用于用户终端APP中所包括的至少一个搜索框,每个搜索框设置于所述APP中的对应业务中,所述方法在用户终端APP中执行,包括:获取用户在搜索框中输入的查询内容;获取与用户终端、用户终端APP或用户相关的至少一个第一属性;将所述查询内容和所述至少一个第一属性发送给服务器端;从服务器端接收通过根据上述搜索方法获得的搜索结果;以及在所述搜索框的下拉提示位置显示所述搜索结果。
在一个实施例中,所述下拉提示方法还包括,在从服务器端接收通过根据上述搜索方法获得的搜索结果之后,获取与用户相关的至少一个第二属性,获取与所述搜索框对应的业务的排序方法,以及,根据所述至少一个第二属性,通过所述排序方法对所述搜索结果进行排序。
在一个实施例中,在上述下拉提示方法中,所述至少一个第二属性包括以下至少一个:用户年龄、性别、消费偏好以及消费能力。
本说明书另一方面提供一种建立下拉提示索引的装置,所述下拉提示用于用户终端APP中所包括的至少一个搜索框,每个搜索框设置于所述APP中的对应业务中,所述装置在服务器端实施,包括:词条获取单元,配置为,获取所述用户终端APP中每个业务的用于下拉提示的多个词条;属性获取单元,配置为,获取每个词条的至少一个属性;前缀索引建立单元,配置为,建立前缀索引,其中所述前缀索引包括每个词条的前缀到其自身的倒排索引;以及属性索引建立单元,配置为,建立属性索引,其中所述属性索引包括每个词条与其各个属性之间的索引。
本说明书另一方面提供一种用于下拉提示的搜索装置,所述下拉提示用于用户终端APP中所包括的至少一个搜索框,每个搜索框设置于所述APP中的对应业务中,所述装置在服务器端实施,包括:查询内容接收单元,配置为,从用户终端APP接收用户在搜索框中输入的查询内容;属性接收单元,配置为,从用户终端APP接收与用户终端、用户终端APP或用户相关的至少一个属性;获取单元,配置为,获取与所述搜索框对应的业务的搜索条件;
第一搜索单元,配置为,通过根据上述建立索引的方法获得的前缀索引,搜索出与该查询内容对应的多个词条;以及第二搜索单元,配置为,根据所述搜索条件和所述至少一个属性,通过根据上述建立索引的方法获得的属性索引,对所述多个词条进行过滤,从而获得搜索结果。
本说明书另一方面提供一种下拉提示装置,所述下拉提示用于用户终端APP中所包括的至少一个搜索框,每个搜索框设置于所述APP中的对应业务中,所述装置在用户终端APP中实施,包括:查询内容获取单元,配置为,获取用户在搜索框中输入的查询内容;属性获取单元,配置为,获取与用户终端、用户终端APP或用户相关的至少一个第一属性;发送单元,配置为,将所述查询内容和所述至少一个第一属性发送给服务器端;接收单元,配置为,从服务器端接收通过根据上述搜索方法获得的搜索结果;以及显示单元,配置为,在所述搜索框的下拉提示位置显示所述搜索结果。
通过根据本说明书实施例的下拉提示方案,通过使用搜索引擎中的技术实现下拉提示***,并且通过一套通用下拉提示***支持多个下拉提示业务,节省了人力和资源成本,提高了迭代效率,并且有足够的灵活性,可以支持不同业务的不同效果需求。
附图说明
通过结合附图描述本说明书实施例,可以使得本说明书实施例更加清楚:
图1示出了根据本说明书实施例的下拉提示***示意图;
图2示出了一种建立下拉提示索引的方法;
图3示出了根据本说明书实施例的一种用于下拉提示的搜索方法;
图4示意示出搜索过程;
图5示出了一种下拉提示方法;
图6示意示出了根据本说明书实施例的下拉提示效果示意图;
图7示出了一种建立下拉提示索引的装置700;
图8示出一种用于下拉提示的搜索装置800;以及
图9示出了一种下拉提示装置900。
具体实施方式
下面将结合附图描述本说明书实施例。
图1示出了根据本说明书实施例的下拉提示***示意图。如图中所示,***包括客户端(101、102、103)和服务器端104。客户端可以是用户终端APP,在APP中可能包括至少一个搜索框,不同的搜索框对应于不同的业务。例如,客户端101在使用对应于APP中的业务1的搜索框,客户端102在使用对应于APP中的业务2的搜索框,以及客户端103在使用对应于APP中的业务3的搜索框。
根据本说明书实施例的下拉提示***通过服务器端104中的搜索实例11提供下拉提示服务。搜索实例11包括前缀索引111、属性索引112以及排序插件113。其中,前缀索引是指词条中包括的前缀字或词或其拼音到该词条的倒排索引,前缀索引111中包括APP中全部业务的词条。所述属性索引包括每个词条与其各个属性之间的索引。当用户在搜索框中输入搜索内容时,客户端(101、102、103)将查询内容及与用户终端、用户终端APP以及用户相关的属性通过网络一起发送给服务器端104。在APP中包括多个搜索框的情况中,上述相关属性中包括业务类型,通过用户输入的搜索框所在的业务确定业务类型。在服务器端104接收到查询内容和相关属性之后,服务器端104获取对业务类型设置的搜索条件,并将其与查询内容和相关属性一起传送给搜索实例11。搜索实例11根据前缀索引111搜索出与查询内容相关的词条,根据属性索引112,并依据搜索条件,对搜索出的词条进行过滤,从而获得搜索结果。例如,搜索条件中包括只搜索本业务类型的词条,从而根据词条与业务类型属性之间的索引,将不属于该业务类型的词条过滤出去。搜索实例11还包括排序插件113,排序插件113中设置有适用于各个业务的排序方法,从而以对应于业务类型的排序方法对搜索结果进行排序。服务器端104中还包括数据库12,其中存储有各个业务的词条及与词条相关的属性,搜索实例11通过从数据库12获取数据,建立前缀索引111和属性索引112。
下面结合实例描述根据本说明书的下拉提示***。
图2示出了一种建立下拉提示索引的方法。所述下拉提示用于用户终端APP中所包括的至少一个搜索框,每个搜索框设置于所述APP中的对应业务中。所述方法在服务器端执行,更具体地,如图1所示,在服务器端104的搜索实例11中执行。所述方法包括以下步骤:在步骤S21,获取所述用户终端APP中每个业务的用于下拉提示的多个词条;在步骤S22,获取每个词条的至少一个属性;在步骤S23,建立前缀索引,其中,所述前缀索引包括每个词条的前缀到其自身的倒排索引;以及在步骤S24,建立属性索引,其中所述属性索引包括每个词条与其各个属性之间的索引。
首先,在步骤S21,获取所述用户终端APP中每个业务的用于下拉提示的多个词条。例如,在支付宝APP中,包括口碑业务、财富业务等。其中每个业务都在服务器端包括对应的数据库,用于存储与业务相关的数据,这些数据中的一些数据可以用作下拉提示的词条。例如,在口碑业务中,与业务相关的数据包括业务类型、店铺名、菜名、店铺地址、店铺地理位置、点击次数、查询次数等。其中,店铺名和菜名可用作下拉提示的词条。例如,在财富业务中,基金名可用作下拉提示的词条。从而,搜索实例11通过读取数据库12,可获取各个业务中可用于下拉提示的词条。
在步骤S22,获取每个词条的至少一个属性。不同业务的词条具有与业务对应的属性。例如,口碑业务的词条包括的属性有:业务类型(口碑)、店铺地址、店铺地理位置、城市、结果数、点击次数、点击通过率、查询次数等。财富业务包括的属性有:业务类型(财富)、结果数、总点击次数、总点击通过率、不同城市的点击次数、不同城市的点击通过率等。可以以不同的字段分别表示这些属性。例如,以字段“type”表示业务类型。属于口碑业务的词条都包括“type=口碑”的属性。属于财富业务的词条都包括“type=财富”的属性。在这些属性中,有些属性数据是由店铺提交的,如店铺地址、店铺地理位置、城市等,有些属性数据是由服务器端从APP端接收获得的,例如点击次数、查询次数等。服务器端将这些属性与词条关联地存储在数据库12中,从而搜索实例11可通过读取数据库12,获取每个词条的至少一个属性。
在步骤S23,建立前缀索引,其中,所述前缀索引包括每个词条的前缀到其自身的倒排索引。词条的前缀是包括的词条尾字之前的单个字或连续多个字。例如,词条“农夫山泉”的前缀包括“农”、“农夫”、“农夫山”、“夫”、“夫山”和“山”。从而可以获取“农”、“农夫”、“农夫山”、“夫”、“夫山”和“山”到“农夫山泉”的倒排索引。
在获取了APP中全部业务的可用于下拉提示的词条之后,可以如上所述获取这些词条的全部前缀作为索引表中的key,以相应的词条作为索引表中与key对应的值,从而建立全部业务通用的一个前缀索引。在一个实施例中,前缀索引中还包括上述前缀的拼音到词条的索引。
在一个实施例中,可以建立词条所包括的最大语义粒度词及其各自的前缀到词条的前缀索引。例如,对于词条“农夫山泉有点甜”,可根据语义词典将其分为“农夫山泉”和“有点甜”两个最大语义粒度词。从而,可以建立“农夫山泉”及其前缀“农”、“农夫”、“农夫山”、“夫”、“夫山”和“山”到“农夫山泉有点甜”的倒排索引,还可以建立“有点甜”及其前缀“有”、“有点”和“点”到“农夫山泉有点甜”的倒排索引。
在步骤S24,建立属性索引,其中所述属性索引包括每个词条与其各个属性之间的索引。词条与属性之间的索引可以是属性到词条的倒排索引,也可以是词条到属性正排索引。在一个实施例中,建立业务类型到词条的倒排索引。在另一个实施例中,建立地理位置到词条的倒排索引。在另一个实施例中,建立词条到点击次数的正排索引。
例如,对于口碑业务中的店铺词条可以建立如表1所示的正排索引表。
Figure BDA0001603784740000081
表1
而口碑业务中的一个菜名词条可能与多个城市相关。在该情况中,可对该菜名词条设置多个子文档,以分别索引其在不同城市的属性。例如,菜名词条关于属性的正排索引表可以如表2所示。
Figure BDA0001603784740000082
表2
在一个实施例中,如图1所示,搜索实例11在从服务器端104中的数据库12中获取业务数据之后,在预定时段离线建立前缀索引和属性索引。通常,在每天凌晨2-5点用户较少的时段,进行对索引的离线全量更新。在一个实施例中,搜索实例11在从数据库12获取用户实时更新数据之后,对索引进行实时更新。例如,在口碑业务中,当新增店铺,或者店铺更新菜名时,搜索实例通过订阅店铺信息,可以实时从数据库12获取该店铺更改信息,从而在索引中进行对信息的秒级更新。
图3示出了根据本说明书实施例的一种用于下拉提示的搜索方法。所述下拉提示用于用户终端APP中所包括的至少一个搜索框,每个搜索框设置于所述APP中的对应业务中。所述方法在服务器端执行,包括以下步骤:在步骤S31,从用户终端APP接收用户在所述搜索框中输入的查询内容;在步骤S32,从用户终端APP接收与用户终端、用户终端APP或用户相关的至少一个属性;在步骤S33,获取与所述搜索框对应的业务的搜索条件;在步骤S34,通过根据上述建立索引的方法获得的前缀索引,搜索出与该查询内容对应的多个词条;以及在步骤S35,根据所述搜索条件和所述至少一个属性,通过根据上述建立索引的方法获得的属性索引,对所述多个词条进行过滤,从而获得搜索结果。
首先,在步骤S31,从用户终端APP接收用户在所述搜索框中输入的查询内容。用户在APP中的特定搜索框中输入的查询内容可能是单个字、连续几个字,或者可能是拼音。用户每进行一次输入动作,APP都会将这次输入的内容同步发送给服务器端。
在步骤S32,从用户终端APP接收与用户终端、用户终端APP或用户相关的至少一个属性。这些属性可以是与用户终端相关的用户终端所在的地理位置(经纬度)和城市、与用户终端APP相关的搜索框业务类型、与用户相关的用户查询时间等。这些属性可以分别以字段表示。服务器端从用户终端APP接收的具体属性与搜索框业务类型相关。例如,当搜索框业务类型为口碑业务时,服务器端从APP端接收搜索框业务类型(口碑)、用户终端所在的地理位置等属性。而当搜索框业务类型为财富业务时,服务器端从APP端接收搜索框业务类型(财富)等属性。其中,业务类型通过用户查询使用的搜索框在APP中的位置确定。例如,用户在支付宝APP中的口碑业务中的搜索框输入查询内容,则搜索框业务类型为“type=口碑”。在一个实施例中,用户在支付宝APP首页的搜索框中进行查询,这里的搜索框业务类型为全局业务,即“type=all”。
在步骤S33,获取与所述搜索框对应的业务的搜索条件。对于不同的业务,设置有相应的搜索条件。例如,对于口碑业务来说,搜索条件可能包括:业务类型为“口碑”,到用户终端距离在预定距离之内等。对于财富业务,搜索条件可能包括产品的风险等级在预定级别等。对于全局业务,其对应的搜索条件为APP包括的各个业务的全部搜索条件。这些搜索条件可以设置在服务器端,服务器端从其自身的存储位置获取与业务类型对应的搜索条件并传送给搜索实例。在一个实施例中,可以在用户终端APP中设置所述搜索条件,服务器端根据搜索框业务类型从APP接收对应的搜索条件,并将其传送给搜索实例。
在步骤S34,通过根据上述建立索引的方法获得的前缀索引,搜索出与该查询内容对应的多个词条。例如,在支付宝APP中的一个搜索框中,输入查询内容“阿里”,则根据这里的前缀索引,搜索出的词条可能包括:阿里影业、阿里健康、阿里纳制药、阿里郎、阿里食府、阿里拌面等。其中“阿里影业、阿里健康、阿里纳制药”是属于财富业务的词条,其中“阿里郎、阿里食府、阿里拌面”是属于口碑业务的词条。
在步骤S35,根据所述搜索条件和所述至少一个属性,通过根据上述建立索引的方法获得的属性索引,对所述多个词条进行过滤,从而获得搜索结果。例如,在上一步骤S34中搜索获得多个词条“阿里影业、阿里健康、阿里纳制药、阿里郎、阿里食府、阿里拌面”之后,在用户在财富业务的搜索框中输入查询内容“阿里”的情况中,服务器端从APP接收的至少一个属性中包括:搜索框业务类型type=财富,而财富业务的搜索条件中包括将词条业务类型限定为搜索框业务类型“财富”。从而根据业务类型到词条的倒排索引,搜索出满足业务类型是“财富”的词条。通过取两次搜索的结果的交集,将上述通过前缀索引搜索出的词条中业务类型不是“财富”的词条过滤出去,从而获得搜索结果“阿里影业、阿里健康、阿里纳制药”。
再例如,用户在口碑业务的搜索框中输入“阿里”,服务器端从APP接收的属性包括搜索框业务类型(口碑)和用户终端的地理位置,获取的与口碑业务对应的搜索条件包括:词条的业务类型为口碑,并且词条的地理位置距离用户终端为五公里之内。在上一步骤S34中搜索获得多个词条“阿里影业、阿里健康、阿里纳制药、阿里郎、阿里食府、阿里拌面”之后,根据口碑业务的搜索条件及业务类型属性和用户地理位置属性,通过业务类型到词条的倒排索引,搜索获得符合“type=口碑”的词条包括“阿里郎、阿里食府、阿里拌面、巴贝拉、巴西烤肉…”,根据地理位置到词条的倒排索引,搜索获得地理位置属性符合距离用户终端为五公里之内词条包括“阿里食府、阿里拌面、巴西烤肉、肯德基、必胜客…”,取前缀索引和上述两种属性索引的索引结果的交集,从而达到对前缀索引结果的过滤,从而获得搜索结果“阿里食府、阿里拌面”。
在另一个例子中,对于上述搜索结果“阿里食府、阿里拌面”,口碑业务对应的搜索条件中可能还包括:例如,“查询次数超过300次”。从而,根据该搜索条件,并且根据口碑业务中的店铺词条到查询次数属性的正排索引,获取词条“阿里食府”、“阿里拌面”各自的查询次数,并根据查询次数对其进行过滤。
图4示意示出上述搜索过程,其中为了方便示意表示,在搜索结果中,以大写字母表示属于一个业务类型(例如财富业务)的词条,以小写字母表示属于另一个业务类型(例如口碑业务)的词条。在图4中,搜索实例中包括的前缀索引41、第一属性索引42(例如业务类型索引)、第二属性索引43(例如地理位置索引)都是倒排索引,通过这三个索引的搜索,可获得其相应的搜索结果{A、B、C、a、b、c}、{a、b、c、d、e}和{b、c、e、f、g}。对三个搜索结果取交集,获得搜索结果{b、c}。在一个实施例中,可能存在与第三属性(例如查询次数)相关的搜索,第三属性索引44可以是正排索引。从而,根据搜索条件和第三属性索引44,对上述搜索结果{b、c}进行进一步正排过滤,从而获得最终的搜索结果,例如{b}。
在一个实施例中,在上述步骤S35中获得的搜索结果的数量可能非常大,可能有几千个。在该情况中,可以先对该搜索结果进行排序,然后截取排在前面的预定数目(例如500个)的结果发送给用户终端APP。
在一个实施例中,如图1所示,根据本说明书实施例的搜索实例11中包括排序插件113。在排序插件113中针对不同的业务设置有不同的排序方法。搜索实例11在将所述搜索结果发送给所述用户终端APP之前,从排序插件113获取与所述搜索框对应的业务的排序方法,并通过该排序方法对所述搜索结果进行排序。例如,对应于口碑业务中店铺词条的排序方法可以包括:首先根据词条地理位置属性到用户终端的距离进行排序,在该排序的下一层,通过词条查询次数属性进行排序,在下一层,通过词条的点击次数属性进行排序等。而对应于财富业务的词条的排序方法可以包括:根据词条的收益率属性进行排序、根据词条的风险等级属性进行排序、根据词条的点击次数属性进行排序等。
图5示出了一种下拉提示方法,所述方法在用户终端APP中执行,所述用户终端APP包括至少一个搜索框,每个搜索框设置于所述APP中的对应业务中。所述方法包括以下步骤:在步骤S51,获取用户在搜索框中输入的查询内容;在步骤S52,获取与用户终端、用户终端APP或用户相关的至少一个属性;在步骤S53,将所述查询内容和所述至少一个第一属性发送给服务器端;在步骤S54,从服务器端接收通过根据上述搜索方法获得的搜索结果;以及在步骤S55,在所述搜索框的下拉提示位置显示所述搜索结果。
首先,在步骤S51,获取用户在搜索框中输入的查询内容。用户每次对搜索框中进行一次输入动作,APP都会进行该步骤,获取查询内容。例如,用户将要输入“农夫山泉”,当用户输入“农”时,APP获取的查询内容为“农”。当用户再输入“夫”时,APP获取的查询内容为“农夫”。
在步骤S52,获取与用户终端、用户终端APP或用户相关的至少一个属性。这里的至少一个属性如上文参考图3中所述,可以是与用户终端相关的用户终端所在的地理位置(经纬度)和城市、与用户终端APP相关的搜索框业务类型、与用户相关的用户查询时间等。这些属性可以分别以字段表示。同样地,用户终端APP对服务器端传送的具体属性与搜索框业务类型相关,在此不再赘述。对于与用户终端相关的属性,APP可通过具体应用获取这些属性数据,例如,通过定位应用获取用户终端地理位置。对于与APP相关的属性,可通过APP自身的设置获取,例如,通过对各个业务的搜索框设置字段以对搜索框业务类型进行限定,从而直接从搜索框获取其对应的业务类型。对于与用户相关的属性,根据不同的属性可采用不同的获取方法。例如用户查询时间,可从APP中的时钟获取,再例如,对于用户的一些个人特征,可从服务器接收获取。
在步骤S53,将所述查询内容和所述至少一个第一属性发送给服务器端。与步骤S51对应地,用户每次对搜索框中进行一次输入动作,APP都会进行该步骤,即,发送查询内容及相关属性。例如,当用户输入“农”时,APP将获取的查询内容“农”发送给服务器端。当用户再输入“夫”时,APP将获取的查询内容“农夫”发送给服务器端。
在步骤S54,从服务器端接收通过根据上述搜索方法获得的搜索结果。在一个实施例中,该搜索结果是经过排序的结果。在另一个实施例中,可在APP中对该搜索结果进行二次排序。APP中也可以包括排序插件,以用于设置对应于不同业务的排序方法。该排序方法相比于搜索实例中的排序方法,例如可以基于一些用户特征参数,基于一些更复杂的排序模型。例如,对于用户在口碑业务的查询,APP可以从服务器端的数据库中获取用户的与消费相关的画像特征,例如年龄、性别、消费偏好以及消费能力等,并根据用户的画像特征及对应的排序方法,对从服务器端接收的搜索结果进行进一步排序。再例如,当搜索框位于APP首页时,对应的业务为全局业务,即,APP中包括的全部业务,其也具有与其对应的排序方法。在全局业务中,会依据对应的排序方法对各个业务中的词条计算全局分数,并依据全局分数对APP中的各个业务词条进行排序。
在步骤S55,在所述搜索框的下拉提示位置显示所述搜索结果。在APP中,搜索框的下拉提示位置一般为搜索框的下方。可以设置下拉提示的词条个数、或页数,从而根据个数或页数限定,对上述排序结果从头截取。在一个实施例中,还可以在下拉提示中显示词条的结果数、距离、地址等属性。
图6示意示出了根据本说明书实施例的下拉提示效果示意图。其中,搜索框为口碑业务中设置的搜索框,用户输入的查询内容为“农夫”。在对该词的下拉提示中,包括结果数、距离、地址等属性。
图7示出了一种建立下拉提示索引的装置700。所述下拉提示用于用户终端APP中所包括的至少一个搜索框,每个搜索框设置于所述APP中的对应业务中。所述装置700在服务器端实施,包括:词条获取单元71,配置为,获取所述用户终端APP中每个业务的用于下拉提示的多个词条;属性获取单元72,配置为,获取每个词条的至少一个属性;前缀索引建立单元73,配置为,建立前缀索引,其中所述前缀索引包括每个词条的前缀到其自身的倒排索引;以及属性索引建立单元74,配置为,建立属性索引,其中所述属性索引包括每个词条与其各个属性之间的索引。
在一个实施例中,在所述建立下拉提示索引的装置中,所述属性索引建立单元74还配置为,建立第一词条到其第一属性的正排索引。
在一个实施例中,在所述建立下拉提示索引的装置中,所述属性索引建立单元74还配置为,建立第二词条的第二属性到第二词条的倒排索引。
在一个实施例中,在所述建立下拉提示索引的装置中,所述前缀索引建立单元73还配置为离线建立前缀索引;以及所述属性索引建立单元74还配置为离线建立属性索引。
在一个实施例中,在所述建立下拉提示索引的装置中,所述属性索引建立单元74还配置为,对所述第一词条设置多个词条子文档,用于分别建立所述第一词条到在不同城市的第一属性的正排索引。
在一个实施例中,在所述建立下拉提示索引的装置中,所述前缀索引建立单元73还配置为,获取第三词条包括的最大语义粒度词,以及建立所述最大语义粒度词及其各自的前缀到所述第三词条的倒排索引。
图8示出一种用于下拉提示的搜索装置800。所述下拉提示用于用户终端APP中所包括的至少一个搜索框,每个搜索框设置于所述APP中的对应业务中。所述装置800在服务器端实施,包括:查询内容接收单元81,配置为,从用户终端APP接收用户在搜索框中输入的查询内容;属性接收单元82,配置为,从用户终端APP接收与用户终端、用户终端APP或用户相关的至少一个属性;获取单元83,配置为,获取与所述搜索框对应的业务的搜索条件;第一搜索单元84,配置为,通过根据上述建立索引的方法获得的前缀索引,搜索出与该查询内容对应的多个词条;以及第二搜索单元85,配置为,根据所述搜索条件和所述至少一个属性,通过根据上述建立索引的方法获得的属性索引,对所述多个词条进行过滤,从而获得搜索结果。
在一个实施例中,上述搜索装置800还包括排序单元,配置为,在获得搜索结果之后,获取与所述搜索框对应的业务的排序方法;以及通过所述排序方法对所述搜索结果进行排序。
图9示出了一种下拉提示装置900。所述下拉提示用于用户终端APP中所包括的至少一个搜索框,每个搜索框设置于所述APP中的对应业务中。所述装置900在用户终端APP中实施,包括:查询内容获取单元91,配置为,获取用户在搜索框中输入的查询内容;属性获取单元92,配置为,获取与用户终端、用户终端APP或用户相关的至少一个第一属性;发送单元93,配置为,将所述查询内容和所述至少一个第一属性发送给服务器端;接收单元94,配置为,从服务器端接收通过根据上述搜索方法获得的搜索结果;以及显示单元95,配置为,在所述搜索框的下拉提示位置显示所述搜索结果。
在一个实施例中,上述下拉提示装置900还包括排序单元,配置为,在从服务器端接收通过根据上述搜索方法获得的搜索结果之后,获取与用户相关的至少一个第二属性,获取与所述搜索框对应的业务的排序方法,以及,根据所述至少一个第二属性,通过所述排序方法对所述搜索结果进行排序。
通过根据本说明书实施例的下拉提示方案,通过使用搜索引擎中的技术实现下拉提示***,可以更好的支持多种检索条件(前缀召回,地理位置,以及其他过滤条件)、以及灵活的排序策略(支持不同业务实现不同的排序插件)。同时,本说明书实施例中通过一套通用下拉提示***支持多个下拉提示业务,其中只需要一份下拉提示索引数据,通过子文档和排序插件的方案,支持业务的灵活性。从而节省了人力和资源成本,提高了迭代效率,并且有足够的灵活性,可以支持不同业务的不同效果需求。
本领域普通技术人员应该还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执轨道,取决于技术方案的特定应用和设计约束条件。本领域普通技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
结合本文中所公开的实施例描述的方法或算法的步骤可以用硬件、处理器执轨道的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质中。
以上所述的具体实施方式,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施方式而已,并不用于限定本发明的保护范围,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (28)

1.一种建立下拉提示索引的方法,所述下拉提示用于用户终端APP中所包括的至少一个搜索框,每个搜索框设置于所述APP中的对应业务中,所述方法在服务器端执行,包括:
获取所述用户终端APP中每个业务的用于建立下拉提示索引的多个词条;
获取每个词条的至少一个属性;所述至少一个属性与用户终端、用户终端APP或用户相关;
建立前缀索引,其中,所述前缀索引包括每个词条的前缀到其自身的倒排索引;以及
建立属性索引,其中所述属性索引包括每个词条与其各个属性之间的索引。
2.根据权利要求1所述的建立下拉提示索引的方法,其中,所述至少一个属性包括以下至少一个属性:业务类型、查询次数、结果数、点击次数、点击通过率、地理位置、城市以及地址。
3.根据权利要求1所述的建立下拉提示索引的方法,其中,所述建立属性索引包括,建立第一词条到其第一属性的正排索引。
4.根据权利要求1所述的建立下拉提示索引的方法,其中,所述建立属性索引包括,建立第二词条的第二属性到第二词条的倒排索引。
5.根据权利要求1所述的建立下拉提示索引的方法,其中,所述建立前缀索引包括离线建立前缀索引;以及所述建立属性索引包括离线建立属性索引。
6.根据权利要求3所述的建立下拉提示索引的方法,其中,所述建立第一词条到其第一属性的正排索引包括,对所述第一词条设置多个词条子文档,用于分别建立所述第一词条到在不同城市的第一属性的正排索引。
7.根据权利要求1所述的建立下拉提示索引的方法,其中,所述建立前缀索引包括,获取第三词条包括的最大语义粒度词,以及建立所述最大语义粒度词及其各自的前缀到所述第三词条的倒排索引。
8.一种用于下拉提示的搜索方法,所述下拉提示用于用户终端APP中所包括的至少一个搜索框,每个搜索框设置于所述APP中的对应业务中,所述方法在服务器端执行,包括:
从用户终端APP接收用户在搜索框中输入的查询内容;
从用户终端APP接收与用户终端、用户终端APP或用户相关的至少一个属性;
获取与所述搜索框对应的业务的搜索条件;
通过根据权利要求1-7中任一项所述的方法获得的前缀索引,搜索出与该查询内容对应的多个词条;以及
根据所述搜索条件和所述至少一个属性,通过根据权利要求1-7中任一项所述的方法获得的属性索引,对所述多个词条进行过滤,从而获得搜索结果。
9.根据权利要求8所述的用于下拉提示的搜索方法,还包括,在获得搜索结果之后,获取与所述搜索框对应的业务的排序方法;以及通过所述排序方法对所述搜索结果进行排序。
10.根据权利要求8所述的用于下拉提示的搜索方法,所述至少一个属性包括以下至少一个属性:搜索框业务类型、用户终端地理位置、用户终端城市和用户查询时间。
11.根据权利要求10所述的用于下拉提示的搜索方法,其中,根据所述搜索条件和所述至少一个属性,通过根据权利要求1-7中任一项所述的方法获得的属性索引,对所述多个词条进行过滤包括:根据将词条业务类型限定为所述搜索框业务类型的搜索条件,过滤掉不属于所述搜索框业务类型的词条。
12.一种下拉提示方法,所述下拉提示用于用户终端APP中所包括的至少一个搜索框,每个搜索框设置于所述APP中的对应业务中,所述方法在用户终端APP中执行,包括:
获取用户在搜索框中输入的查询内容;
获取与用户终端、用户终端APP或用户相关的至少一个第一属性;
将所述查询内容和所述至少一个第一属性发送给服务器端;
从服务器端接收通过根据权利要求8-11中任一项所述的方法获得的搜索结果;以及
在所述搜索框的下拉提示位置显示所述搜索结果。
13.根据权利要求12所述的下拉提示方法,还包括,在从服务器端接收通过根据权利要求8-11中任一项所述的方法获得的搜索结果之后,获取与用户相关的至少一个第二属性,获取与所述搜索框对应的业务的排序方法,以及,根据所述至少一个第二属性,通过所述排序方法对所述搜索结果进行排序。
14.根据权利要求13所述的下拉提示方法,其中,所述至少一个第二属性包括以下至少一个属性:用户年龄、性别、消费偏好以及消费能力。
15.一种建立下拉提示索引的装置,所述下拉提示用于用户终端APP中所包括的至少一个搜索框,每个搜索框设置于所述APP中的对应业务中,所述装置在服务器端实施,包括:
词条获取单元,配置为,获取所述用户终端APP中每个业务的用于建立下拉提示索引的多个词条;
属性获取单元,配置为,获取每个词条的至少一个属性;所述至少一个属性与用户终端、用户终端APP或用户相关;
前缀索引建立单元,配置为,建立前缀索引,其中所述前缀索引包括每个词条的前缀到其自身的倒排索引;以及
属性索引建立单元,配置为,建立属性索引,其中所述属性索引包括每个词条与其各个属性之间的索引。
16.根据权利要求15所述的建立下拉提示索引的装置,其中,所述至少一个属性包括以下至少一个属性:业务类型、查询次数、结果数、点击次数、点击通过率、地理位置、城市以及地址。
17.根据权利要求15所述的建立下拉提示索引的装置,其中,所述属性索引建立单元还配置为,建立第一词条到其第一属性的正排索引。
18.根据权利要求15所述的建立下拉提示索引的装置,其中,所述属性索引建立单元还配置为,建立第二词条的第二属性到第二词条的倒排索引。
19.根据权利要求15所述的建立下拉提示索引的装置,其中,所述前缀索引建立单元还配置为离线建立前缀索引;以及所述属性索引建立单元还配置为离线建立属性索引。
20.根据权利要求17所述的建立下拉提示索引的装置,其中,所述属性索引建立单元还配置为,对所述第一词条设置多个词条子文档,用于分别建立所述第一词条到在不同城市的第一属性的正排索引。
21.根据权利要求15所述的建立下拉提示索引的装置,其中,所述前缀索引建立单元还配置为,获取第三词条包括的最大语义粒度词,以及建立所述最大语义粒度词及其各自的前缀到所述第三词条的倒排索引。
22.一种用于下拉提示的搜索装置,所述下拉提示用于用户终端APP中所包括的至少一个搜索框,每个搜索框设置于所述APP中的对应业务中,所述装置在服务器端实施,包括:
查询内容接收单元,配置为,从用户终端APP接收用户在搜索框中输入的查询内容;
属性接收单元,配置为,从用户终端APP接收与用户终端、用户终端APP或用户相关的至少一个属性;
获取单元,配置为,获取与所述搜索框对应的业务的搜索条件;
第一搜索单元,配置为,通过根据权利要求1-7中任一项所述的方法获得的前缀索引,搜索出与该查询内容对应的多个词条;以及
第二搜索单元,配置为,根据所述搜索条件和所述至少一个属性,通过根据权利要求1-7中任一项所述的方法获得的属性索引,对所述多个词条进行过滤,从而获得搜索结果。
23.根据权利要求22所述的用于下拉提示的搜索装置,还包括排序单元,配置为,在获得搜索结果之后,获取与所述搜索框对应的业务的排序方法;以及通过所述排序方法对所述搜索结果进行排序。
24.根据权利要求22所述的用于下拉提示的搜索装置,所述至少一个属性包括以下至少一个属性:搜索框业务类型、用户终端地理位置、用户终端城市和用户查询时间。
25.根据权利要求24所述的用于下拉提示的搜索装置,其中,所述第二搜索单元还配置为:根据将词条业务类型限定为所述搜索框业务类型的搜索条件,过滤掉不属于所述搜索框业务类型的词条。
26.一种下拉提示装置,所述下拉提示用于用户终端APP中所包括的至少一个搜索框,每个搜索框设置于所述APP中的对应业务中,所述装置在用户终端APP中实施,包括:
查询内容获取单元,配置为,获取用户在搜索框中输入的查询内容;
属性获取单元,配置为,获取与用户终端、用户终端APP或用户相关的至少一个第一属性;
发送单元,配置为,将所述查询内容和所述至少一个第一属性发送给服务器端;
接收单元,配置为,从服务器端接收通过根据权利要求8-11中任一项所述的方法获得的搜索结果;以及
显示单元,配置为,在所述搜索框的下拉提示位置显示所述搜索结果。
27.根据权利要求26所述的下拉提示装置,还包括排序单元,配置为,在从服务器端接收通过根据权利要求8-11中任一项所述的方法获得的搜索结果之后,获取与用户相关的至少一个第二属性,获取与所述搜索框对应的业务的排序方法,以及,根据所述至少一个第二属性,通过所述排序方法对所述搜索结果进行排序。
28.根据权利要求27所述的下拉提示装置,其中,所述至少一个第二属性包括以下至少一个属性:用户年龄、性别、消费偏好以及消费能力。
CN201810235411.7A 2018-03-21 2018-03-21 一种下拉提示方法和装置 Active CN108536763B (zh)

Priority Applications (3)

Application Number Priority Date Filing Date Title
CN201810235411.7A CN108536763B (zh) 2018-03-21 2018-03-21 一种下拉提示方法和装置
PCT/CN2019/070047 WO2019179208A1 (zh) 2018-03-21 2019-01-02 下拉提示
TW108100524A TWI696925B (zh) 2018-03-21 2019-01-07 一種下拉提示方法和裝置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810235411.7A CN108536763B (zh) 2018-03-21 2018-03-21 一种下拉提示方法和装置

Publications (2)

Publication Number Publication Date
CN108536763A CN108536763A (zh) 2018-09-14
CN108536763B true CN108536763B (zh) 2021-02-05

Family

ID=63484509

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810235411.7A Active CN108536763B (zh) 2018-03-21 2018-03-21 一种下拉提示方法和装置

Country Status (3)

Country Link
CN (1) CN108536763B (zh)
TW (1) TWI696925B (zh)
WO (1) WO2019179208A1 (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108536763B (zh) * 2018-03-21 2021-02-05 创新先进技术有限公司 一种下拉提示方法和装置
CN110517690A (zh) * 2019-08-30 2019-11-29 四川长虹电器股份有限公司 语音控制功能的引导方法及***
CN111522841A (zh) * 2020-07-03 2020-08-11 支付宝(杭州)信息技术有限公司 一种企业保险的实现方法和装置

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7461059B2 (en) * 2005-02-23 2008-12-02 Microsoft Corporation Dynamically updated search results based upon continuously-evolving search query that is based at least in part upon phrase suggestion, search engine uses previous result sets performing additional search tasks
US8990200B1 (en) * 2009-10-02 2015-03-24 Flipboard, Inc. Topical search system
CN102314439B (zh) * 2010-06-30 2015-12-16 百度在线网络技术(北京)有限公司 与应用接口相结合的输入方法和设备
CN102156724A (zh) * 2011-03-31 2011-08-17 北京百度网讯科技有限公司 一种用于对查询片段进行后缀匹配的方法与设备
CN103577426B (zh) * 2012-07-24 2019-04-12 百度在线网络技术(北京)有限公司 用于提供搜索建议的附加应用信息的方法、装置与***
CN102937976B (zh) * 2012-10-17 2015-12-09 北京奇虎科技有限公司 一种基于输入前缀的下拉提示方法和装置
CN103064945B (zh) * 2012-12-26 2016-01-06 吉林大学 基于本体的情境搜索方法
CN103631929B (zh) * 2013-12-09 2016-08-31 江苏金智教育信息股份有限公司 一种用于搜索的智能提示的方法、模块和***
US20150317319A1 (en) * 2014-04-30 2015-11-05 Yahoo! Inc. Enhanced search results associated with a modular search object framework
CN104156486B (zh) * 2014-08-28 2017-05-10 百度在线网络技术(北京)有限公司 通过搜索引擎传递信息的方法、***及搜索引擎
CN108536763B (zh) * 2018-03-21 2021-02-05 创新先进技术有限公司 一种下拉提示方法和装置

Also Published As

Publication number Publication date
WO2019179208A1 (zh) 2019-09-26
CN108536763A (zh) 2018-09-14
TWI696925B (zh) 2020-06-21
TW201941077A (zh) 2019-10-16

Similar Documents

Publication Publication Date Title
EP3819792A2 (en) Method, apparatus, device, and storage medium for intention recommendation
US8996629B1 (en) Generating a stream of content for a channel
CN104065565B (zh) 推送消息的方法、服务器、客户端装置和***
US9330418B2 (en) System and method for creating a family tree data structure
US20180095958A1 (en) Topic profile query creation
US7539669B2 (en) Methods and systems for providing guided navigation
CN105701216A (zh) 一种信息推送方法及装置
CN106850750B (zh) 一种实时推送信息的方法和装置
CN108536763B (zh) 一种下拉提示方法和装置
US20120284283A1 (en) Information Processing Method, Apparatus, and Computer Program
US20170322920A1 (en) Dispatch of user input to multiple input fields in a user interface
US11093529B2 (en) Method for displaying landmark data
US20190332972A1 (en) Dynamic query response with metadata
US20140330770A1 (en) Context-aware implicit and explicit search
CN110968801A (zh) 地产产品搜索方法、存储介质及电子设备
US20120271844A1 (en) Providng relevant information for a term in a user message
JP2013105213A (ja) 情報推薦装置及び方法及び装置及びプログラム
CN111160699A (zh) 一种专家推荐方法及***
CN111104536A (zh) 图片搜索方法、装置、终端及存储介质
CN106649806B (zh) 一种品牌信息维护的方法
US10095751B2 (en) Blended polygon search
CN111666398A (zh) 一种基于房源信息关键字搜索匹配的方法
JP2013134755A (ja) 情報検索システム及び情報検索方法
CN101788981A (zh) 一种深层网移动搜索方法、服务器及***
CN110147424B (zh) 一种Top-k组合空间关键字查询方法和***

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
TA01 Transfer of patent application right
TA01 Transfer of patent application right

Effective date of registration: 20200924

Address after: Cayman Enterprise Centre, 27 Hospital Road, George Town, Grand Cayman Islands

Applicant after: Innovative advanced technology Co.,Ltd.

Address before: Cayman Enterprise Centre, 27 Hospital Road, George Town, Grand Cayman Islands

Applicant before: Advanced innovation technology Co.,Ltd.

Effective date of registration: 20200924

Address after: Cayman Enterprise Centre, 27 Hospital Road, George Town, Grand Cayman Islands

Applicant after: Advanced innovation technology Co.,Ltd.

Address before: A four-storey 847 mailbox in Grand Cayman Capital Building, British Cayman Islands

Applicant before: Alibaba Group Holding Ltd.

GR01 Patent grant
GR01 Patent grant