技术领域
[0001] 本发明涉及计算机领域,尤其涉及一种检索方法和检索装置。
相关背景技术
[0002] 在很多的检索场景中,用户在互联网搜索产品中输入检索词时用户的检索意图是模糊的。现有技术中,当用户在输入检索词时,搜索引擎能够根据用户所输入的检索词进行智能联想,以向用户推荐与该检索词相关的检索串。当用户选择了其中一个推荐的检索串并触发内容检索时,得到该检索串的检索结果。
[0003] 在上述流程中,在实现智能联想时,需根据用户输入的检索词在索引数据库中进行检索,以查找出与该检索词相关的检索串;在实现内容检索时,需根据用户选择的检索串在索引数据库中进行检索,以查找出与该检索串相关的检索结果。
[0004] 实际应用中,在实现“智能联想”的检索和“内容检索”的检索时,由于“智能联想”在实现上多采用前缀分词以及拼音分词对数据进行索引,而“内容检索”多采用正常分词对数据进行索引,因此在建立索引数据库时,常对同样的数据建立两份索引数据库。这导致存储空间浪费较大,也增加了运营成本。
具体实施方式
[0045] 为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
[0046] 本发明的说明书和权利要求书及上述附图中的术语“包括”和“具有”以及它们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、系统、产品或设备固有的其它步骤或单元。
[0047] 区别于现有技术中智能联想所使用的索引数据库和内容检索所使用的索引数据库为两个不同的索引数据库,本发明中,智能联想所使用的分词方式和索引分别和内容检索所使用的分词方式和索引相同,因此智能联想所使用的索引数据库和内容检索所使用的索引数据库为同一个索引数据库。具体如何在同一个索引数据库中进行智能联想和内容检索索引数据库两种不同的检索,详见图1所示实施例的描述。
[0048] 请参阅图1,本发明实施例中检索方法包括:
[0049] 101、获取检索请求,所述检索请求包括检索字符。
[0050] 本实施例中,当用户在检索框中每输入一个字符时,搜索引擎中的用户接口会向检索器发起一个检索请求,该检索请求包括检索框中已经输入的字符或者字符串,用于请求在索引数据库中查找该字符或者字符串。需注意的是,在用户在检索框中输入字符的过程中,只要用户接口还未接收到用户对搜索按钮的点击,均可确认用户未完成对检索词的输入,因此,此时用户接口发起的检索请求用于请求对用户已经输入的字符或字符串的智能联想的检索,以便向用户推荐用户可能感兴趣的检索串。
[0051] 当用户完成输入要检索的检索串后,点击搜索按钮,以触发对该检索串的内容检索。当用户接口接收到用户对搜索按钮的点击后,可确认用户已经完成对检索词的输入,因此,此时用户接口发起的检索请求用于请求对检索词的内容检索。
[0052] 102、判断所述检索请求为对所述检索字符进行智能联想还是进行内容检索。
[0053] 在用户点击搜索按钮前,用户接口发起的检索请求均为进行智能联想。在用户点击搜索按钮后,用户接口发起的检索请求为进行内容检索。实际应用中,为了方便搜索引擎中的检索器区分所获取到的检索请求为进行智能联想还是进行内容检索,用户接口所发起的检索请求中一般携带有参数用来标识该检索请求的类别。举例来说,进行智能联想的检索请求中携带有参数is_smartbox=1,进行内容检索的检索请求中携带有参数is_smartbox=0。
[0054] 检索器在接收到用户接口发送的检索请求后,通过该检索请求所携带的参数来判断该检索请求为对所述检索字符进行智能联想还是进行内容检索。
[0055] 103、当确定对所述检索字符进行智能联想时,在索引数据库的特定字段中对所述检索字符进行检索。
[0056] 检索器根据获取到检索请求后,在索引数据库中查找检索请求所包含的检索字符。由于进行智能联想的检索并不需要在所有的字段中进行,而是只需要在其中的一部分字段中进行检索,因此,本实施例中,当确定对所述检索字符进行智能联想时,在索引数据库的特定字段中对所述检索字符进行检索。
[0057] 在索引数据库的特定字段中对检索字符进行检索的方法有多种。举例来说,索引数据库的特定字段的索引存储在特定区域中,在对检索字符进行检索时仅在该特定区域内进行检索。
[0058] 或者,数据库内特定字段的索引中还包含有特定标记。检索器在获取到检索请求后,在检索请求中的检索字符中添加该特定标记,由于检索出来的内容需和检索请求中的检索字符一样,因此检索出来的内容包含该特定标记,也即检索出来的内容肯定属于索引数据库中的特定字段。
[0059] 具体举例来说,用户输入的检索字符为“科技有限公司”。
[0060] 若“科技有限公司”的分词结果为“科技|有限|公司”,且“科技有限公司”不属于特定字段,那么“科技有限公司”的索引为:“SM:科技|SM:有限|SM:公司”。
[0061] 若所述特定标记为“\0x3”,且“科技有限公司”属于特定字段,那么“科技有限公司”的索引为:“SM:科技\0x3|SM:有限\0x3|SM:公司\0x3”。
[0062] 当然,上述仅为举例,并不做限制。
[0063] 104、当确定对所述检索字符进行内容检索时,在所述索引数据库中对所述检索字符进行检索。
[0064] 当确认要对检索字符进行内容检索时,在索引数据库的全部字段中对检索字符进行检索。
[0065] 本实施例中,由于进行智能联想和进行内容检索所用的索引数据库为同一个索引数据库,能够避免存储空间的浪费,降低运营成本,同时,由于对智能联想的搜索并不需要在索引数据库的全部字段中进行检索,本实施例中,在进行智能联想的检索时仅在索引数据库的特定字段中进行检索,保证了智能联想的检索的效率。
[0066] 本实施例中,索引数据库的特定字段可以是默认设置的。可选的,搜索引擎还可以接受用户对所述特定字段的设置。举例来说,在对特定字段的设置页面上显示有提供用户选择的多个特定字段的选项,搜索引擎通过接受用户对各选项的选择来确定特定字段的具体内容。或者,在对特定字段的设置页面上显示有输入框,用户可直接在该输入框内输入内容;搜索引擎通过接收用户输入的内容来确定特定字段的具体内容。当然,上述仅为举例,并不做限制。在搜索引擎更新特定字段后,搜索引擎还对索引数据库进行更新。
[0067] 可选的,本实施例中,搜索引擎还可以提供“开启智能联想”和“关闭智能联想”两种功能,并通过接收用户的选择来确定是否开启智能联想。当搜索引擎接收到“开启智能联想”的功能时才执行本实施例,当搜索引擎接收到“关闭智能联想”的功能时,仅实施本实施例中的步骤101和步骤104。
[0068] 可选的,本实施例中,搜索引擎在索引数据库的特定字段中对所述检索字符进行检索以获得检索结果后,搜索引擎还获取用户对以往的智能联想结果的点击历史,根据该点击历史对本次智能联想检索结果的优先级排序;并根据所述本次智能联想结果的优先级排序对所述本次智能联想结果进行显示。
[0069] 具体举例来说,搜索引擎获取到用户对以往的智能联想结果的点击历史后,对同一个智能联想结果,用户以往的选择次数越多,则该智能联想结果的优先级排序越高,在显示屏幕上也就越靠前排列。
[0070] 上面对本发明实施例中的检索方法进行了描述。下面对本发明实施例中的检索装置进行描述。
[0071] 请参阅图2,图,2为本发明的检索装置的一个实施例的结构示意图。本实施例中的检索装置可以用于执行图1所示实施例中的检索方法。本发明实施例的检索装置200包含:
[0072] 第一获取模块201,用于获取检索请求,所述检索请求包括检索字符;
[0073] 判断模块202,用于判断所述检索请求为对所述检索字符进行智能联想还是进行内容检索;
[0074] 第一检索模块203,用于当确定对所述检索字符进行智能联想时,在索引数据库的特定字段中对所述检索字符进行检索;
[0075] 第二检索模块204,用于当确定对所述检索字符进行内容检索时,在所述索引数据库中对所述检索字符进行检索。
[0076] 本实施例中,由于检索装置进行智能联想和进行内容检索所用的索引数据库为同一个索引数据库,能够避免存储空间的浪费,降低运营成本,同时,由于对智能联想的搜索并不需要在索引数据库的全部字段中进行检索,本实施例中,在进行智能联想的检索时仅在索引数据库的特定字段中进行检索,保证了智能联想的检索的效率。
[0077] 可选的,所述索引数据库中所述特定字段的索引包括特定标记;所述检索装置还包括:
[0078] 修改模块205,用于在获取检索请求之后,在所述检索请求的检索字符中添加所述特定标记,以使得在所述索引数据库的特定字段中对所述检索字符进行检索。
[0079] 进一步,可选的,所述检索装置还包括:
[0080] 接收模块206,用于在获取检索请求之前,接收用户对所述特定字段的内容的选择或者输入;
[0081] 索引模块207,用于在所述用户选择或者输入的特定字段的索引中添加所述特定标记。
[0082] 如图3所示,可选的,所述检索装置还包括:
[0083] 第二获取模块301,用于在索引数据库的特定字段中对所述检索字符进行检索之后,获取用户对往次智能联想检索结果的点击历史;
[0084] 排序模块302,用于根据所述点击历史确定本次智能联想检索结果的优先级排序;
[0085] 显示模块303,用于根据所述本次智能联想结果的优先级排序对所述本次智能联想结果进行显示。
[0086] 如图4所示,可选的,所述装置还包括:
[0087] 启动模块401,用于在判断所述检索请求为对所述检索字符进行智能联想还是进行内容检索之前,接收用户对启动智能联想功能的选择。
[0088] 所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
[0089] 在本申请所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
[0090] 所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
[0091] 另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
[0092] 所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
[0093] 以上所述,以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。