一种信息搜索方法、搜索引擎客户端/服务器及系统
技术领域
本发明涉及网络信息搜索,尤其涉及一种根据关键字通过网络进行信息搜索的方法及相应的搜索引擎客户端、搜索引擎服务器及系统。
背景技术
目前的搜索引擎根据关键字进行搜索时利用算法来分析各Web页面与要搜索的关键字的相关性,然而发送Web页面搜索结果给搜索引擎客户端,发送的搜索结果的排列顺序主要有三种方式:
一、根据关键字相关性大小排名,也就是根据用户输入的搜索关键字,在搜索结果中把与搜索关键字相关性最高的Web页面排在最前面,依次往后相关性降低。典型的搜索引擎代表为Google,核心的相关性分析算法决定搜索结果的最终排名。
二、竞价排名,关键字可以被出价购买,出价最高的Web页的链接就排在搜索结果的最靠前的位置,即按照竞价由高到低依次排列搜索结果。这种方式商业因素对搜索结果排名起决定作用。
三、在上述两种主要的排名方式基础上,目前也有把竞价和基于关键字相关性二者结合起来的排名方式,在竞价的基础上考虑与关键字的相关性,结合两个方面对搜索结果排名。百度即为采用这种方式的代表。
搜索是目前从互连网上获取信息的主要方式,由于每个用户有不同的职业、兴趣和关注点,经过分析发现用户经常搜索的信息是有规律的,内容相对较稳定。也就是说,用户经常使用相同的或者相近的关键字通过搜索引擎来获取相同的或者相近的信息。这样,那些曾经被用户浏览过、为用户提供过有效信息的搜索结果,是用户最感兴趣且对用户最具价值。如果再次要搜索同样的信息,那么用户会自觉的先去寻找那些曾经为他提供过有用信息的搜索结果,换言之,这样的搜索结果被用户再次浏览并提取需要信息的概率比那些未曾被浏览过的搜索结果要大。然而,现有技术中的搜索引擎没有利用用户的历史搜索行为信息,用户多次搜索相同的关键字时,搜索引擎只是重复前一次的搜索行为,给出相同的搜索排名结果,使得无法提高多次搜索相同关键字的效率,也不能为不同用户提供差异化的搜索服务。
发明内容
本发明提供一种信息搜索方法,用以解决现有技术中存在的不能针对用户提高多次搜索相同关键字的效率问题。
本发明还提供相应的搜索引擎客户端、服务器及系统。
本发明方法包括:用户预先通过搜索引擎客户端将用户标识注册到搜索引擎服务器中;当用户需要进行信息搜索时,执行下列步骤:
由搜索引擎客户端向搜索引擎服务器发起搜索请求,携带用户标识和搜索关键字信息;
所述搜索引擎服务器根据所述搜索关键字获得按照关键字相关性大小排列的第一Web页面序列,并根据所述用户标识和关键字信息查找存储的用户对各Web页面的累计历史浏览时间信息,再按照各Web页面的累计历史浏览时间从长到短的顺序重排所述第一Web页面序列,生成第二Web页面序列作为搜索结果发送给所述搜索引擎客户端;
当用户打开/关闭Web页面时,所述搜索引擎客户端向所述搜索引擎服务器发送通知消息;所述搜索引擎服务器统计该用户本次搜索对各Web页面的浏览时长,当收到所述搜索引擎客户端发送的本次搜索结束通知消息时,累计并更新存储的用户对各Web页面的累计历史浏览时间信息。
根据本发明的上述方法,在生成第二Web页面序列时,如果两个或多个Web页面的累计历史浏览时间相同,则按照关键字相关性从大到小的顺序排列。
根据本发明的上述方法,当用户打开一个Web页面时,所述搜索引擎客户端向所述搜索引擎服务器发送打开页面通知消息,所述搜索引擎服务器开始统计用户对该Web页面的浏览时间;
当用户关闭一个Web页面时,所述搜索引擎客户端向所述搜索引擎服务器发送关闭页面通知消息,所述搜索引擎服务器停止对该Web页面的浏览时间统计,计算出用户本次浏览该Web页面的时间值。
本发明提供一种搜索引擎客户端,包括:
第一注册模块,用于与搜索引擎服务器交互,将用户标识注册到搜索引擎服务器中;
搜索请求模块,接收用户输入的用户标识和搜索关键字,向搜索引擎服务器发起携带用户标识和搜索关键字信息的搜索请求,接收并显示搜索引擎服务器返回的Web页面搜索结果;并在用户打开、关闭所述Web页面和结束搜索时,分别向搜索引擎服务器发送对应通知消息。
本发明还提供一种搜索引擎服务器,包括:
第二注册模块,用于与搜索引擎客户端交互,接收用户注册请求,存储用户注册信息;
用户搜索请求处理模块,接收并处理搜索引擎客户端发起的携带用户标识和搜索关键字信息的搜索请求,将所述用户标识和搜索关键字信息提交给历史搜索行为分析模块;接收所述搜索引擎客户端发送的打开Web页面、关闭Web页面以及结束搜索的对应通知消息,并将所述通知消息转发给所述历史搜索行为分析模块;接收所述历史搜索行为分析模块发送的Web页面搜索结果转发给所述搜索引擎客户端;
历史搜索行为分析模块,查询数据库获得按照关键字相关性大小排列的第一Web页面序列,并根据所述用户标识和关键字信息查找所述数据库中存储的用户对各Web页面的累计历史浏览时间信息,再按照各Web页面的累计历史浏览时间从长到短的顺序重排所述第一Web页面序列,生成第二Web页面序列作为搜索结果发送给所述用户搜索请求处理模块;接收所述用户搜索请求处理模块转发的打开/关闭页面通知消息,统计用户本次搜索对各Web页面的浏览时长,当接收到本次搜索结束通知消息时,累计并更新数据库中存储的用户对各Web页面的累计历史浏览时间信息。
所述搜索引擎服务器与所述数据库独立设置,通过外部接口交互;或者
所述数据库保存在所述搜索引擎服务器的存储介质中。
本发明还提供一种信息搜索系统,包括搜索引擎客户端和搜索引擎服务器;
所述搜索引擎客户端,将用户标识注册到搜索引擎服务器中;向搜索引擎服务器发起携带用户标识和搜索关键字信息的搜索请求,接收并显示搜索引擎服务器返回的Web页面搜索结果;并在用户打开、关闭所述Web页面和结束搜索时,分别向搜索引擎服务器发送对应通知消息;
所述搜索引擎服务器根据搜索请求中的搜索关键字获得按照关键字相关性大小排列的第一Web页面序列,并根据所述用户标识和关键字信息查找存储的用户对各Web页面的累计历史浏览时间信息,再按照各Web页面的累计历史浏览时间从长到短的顺序重排所述第一Web页面序列,生成第二Web页面序列作为搜索结果发送给所述搜索引擎客户端;
当用户打开/关闭Web页面时,所述搜索引擎客户端向所述搜索引擎服务器发送通知消息;
所述搜索引擎服务器统计该用户本次搜索对各Web页面的浏览时长,当收到所述搜索引擎客户端发送的本次搜索结束通知消息时,累计并更新存储的用户对各Web页面的累计历史浏览时间信息。
所述搜索引擎客户端包括:
第一注册模块,用于与搜索引擎服务器交互,将用户标识注册到搜索引擎服务器中;
搜索请求模块,接收用户输入的用户标识和搜索关键字,向搜索引擎服务器发起携带用户标识和搜索关键字信息的搜索请求,接收并显示搜索引擎服务器返回的Web页面搜索结果;并在用户打开、关闭所述Web页面和结束搜索时,分别向搜索引擎服务器发送对应通知消息。
所述搜索引擎服务器包括:
第二注册模块,用于与搜索引擎客户端交互,接收用户注册请求,存储用户注册信息;
用户搜索请求处理模块,接收并处理搜索引擎客户端发起的携带用户标识和搜索关键字信息的搜索请求,将所述用户标识和搜索关键字信息提交给历史搜索行为分析模块;接收所述搜索引擎客户端发送的打开Web页面、关闭Web页面以及结束搜索的对应通知消息,并将所述通知消息转发给所述历史搜索行为分析模块;接收所述历史搜索行为分析模块发送的Web页面搜索结果转发给所述搜索引擎客户端;
历史搜索行为分析模块,查询数据库获得按照关键字相关性大小排列的第一Web页面序列,并根据所述用户标识和关键字信息查找所述数据库中存储的用户对各Web页面的累计历史浏览时间信息,再按照各Web页面的累计历史浏览时间从长到短的顺序重排所述第一Web页面序列,生成第二Web页面序列作为搜索结果发送给所述用户搜索请求处理模块;接收所述用户搜索请求处理模块转发的打开/关闭页面通知消息,统计用户本次搜索对各Web页面的浏览时长,当接收到本次搜索结束通知消息时,累计并更新数据库中存储的用户对各Web页面的累计历史浏览时间信息。
所述搜索引擎服务器与所述数据库独立设置,通过外部接口交互;或者
根据本发明提供的信息搜索系统,所述数据库设置在所述搜索引擎服务器中。
本发明有益效果如下:
(1)采用本发明,用户预先通过搜索引擎客户端将用户标识注册到搜索引擎服务器中;搜索引擎服务器保存用户的注册信息,并针对每一个用户分别存储其根据不同关键字浏览不同Web页面的累计历史浏览时间信息,从而实现可以为每一个用户提供个性化服务。
(2)采用本发明,搜索引擎客户端向搜索引擎服务器发起搜索请求时,携带用户标识和搜索关键字信息;搜索引擎服务器根据搜索关键字获得按照关键字相关性大小排列的第一Web页面序列后,并根据用户标识和关键字信息查找存储的用户对各Web页面的累计历史浏览时间信息,再按照各Web页面的累计历史浏览时间从长到短的顺序重排第一Web页面序列,生成第二Web页面序列作为搜索结果发送给搜索引擎客户端。这样,在搜索引擎客户端呈现给用户的搜索结果中,用户累计历史浏览时间较长的Web页面排列在搜索结果的最靠前面的位置,由于用户从这些Web页面中提取信息的概率较大,从而有效提高用户的搜索效率。
附图说明
图1为本发明提供的信息搜索方法流程图;
图2为本发明实施例提供的信息搜索系统结构示意图之一;
图3为本发明实施例提供的信息搜索系统结构示意图之二。
具体实施方式
参见图1,本发明提供的信息搜索方法包括:
步骤S101、搜索引擎客户端向搜索引擎服务器发起注册请求,将用户标识注册到搜索引擎服务器中;
步骤S102、搜索引擎服务器返回注册成功消息;
步骤S103、搜索引擎客户端向搜索引擎服务器发起搜索请求,携带用户标识和搜索关键字信息;
步骤S104、搜索引擎服务器根据搜索请求中的搜索关键字获得按照关键字相关性大小排列的第一Web页面序列;
步骤S105、搜索引擎服务器根据用户标识和关键字信息查找并获取存储的用户对各Web页面的累计历史浏览时间信息;
步骤S106、搜索引擎服务器按照获取的各Web页面的累计历史浏览时间从长到短的顺序重排第一Web页面序列,生成第二Web页面序列;
步骤S107、搜索引擎服务器依次发送第二Web页面序列中的搜索结果给搜索引擎客户端;
步骤S108、搜索引擎客户端显示出搜索引擎服务器返回的搜索结果给用户,当捕捉到用户打开/关闭Web页面时,向所述搜索引擎服务器发送相应通知消息;
步骤S109、搜索引擎服务器接收到相应通知消息后,统计该用户本次搜索对各Web页面的浏览时长;当收到搜索引擎客户端发送的本次搜索结束通知消息时,累计并更新存储的用户对各Web页面的累计历史浏览时间信息。
根据本发明提供的上述方法,本发明提供一种信息搜索系统,其具体结构示意图如图2所示,包括:搜索引擎客户端10、搜索引擎服务器20和数据库30,其中数据库30独立于搜索引擎服务器20。下面结合本发明提供的信息搜索系统中所包含的具体功能模块对本发明信息搜索方法加以详细阐述。
本发明提供的搜索引擎客户端10包括第一注册模块101和搜索请求模块102。其中:
第一注册模块101,用于与搜索引擎服务器20交互,将用户标识注册到搜索引擎服务器20中;
用户向搜索引擎服务器20的注册信息除了包括用户标识外,还可以包括其它的注册信息,例如用户的注册信息包括以下方面:
用户标识(用户ID):由数字0~9,a~z,A~Z字符构成,长度不小于6;
用户密码:由数字0~9,a~z,A~Z字符构成,长度不小于6;
用户性别:用户性别信息;
用户年龄:用户年龄信息;
用户职业:用户职业信息;
用户国家和城市:用户所在国家城市信息。
当用户注册成功后,搜索引擎服务器20会存储用户的相关注册信息,返回相应的响应消息,告知用户注册成功。
用户只需要在第一次使用搜索引擎时进行注册,注册成功后,再次使用搜索引擎时,只需根据搜索引擎客户端的窗口提示,输入已注册的用户标识和本次搜索关键字即可。
在搜索引擎客户端10中还包括搜索请求模块102,用于接收用户输入的用户标识和本次搜索关键字,向搜索引擎服务器20发起携带用户标识和搜索关键字信息的搜索请求,接收并显示搜索引擎服务器20返回的Web页面搜索结果;当用户打开一个Web页面时,向搜索引擎服务器20发送打开页面通知消息,指示搜索引擎服务器20开始统计用户对该Web页面的浏览时间;当用户关闭一个Web页面时,向搜索引擎服务器20发送关闭页面通知消息,指示搜索引擎服务器20停止对该Web页面的浏览时间统计;当用户本次浏览结束时,向搜索引擎服务器20发送本次浏览结束通知消息,以便搜索引擎服务器20累计并更新用户对各Web页面累计历史浏览时间信息。其中,累计用户对各Web页面累计历史浏览时间信息,是指针对某一用户(由注册的用户标识来区分不同用户)多次采用同一个搜索关键字搜索时,对搜索结果中同一个Web页面的浏览时间的累加。
本发明提供的搜索引擎服务器20包括:第二注册模块201、用户搜索请求处理模块202和历史搜索行为分析模块203。其中:
第二注册模块201,用于与搜索引擎客户端10交互,接收用户注册请求,存储用户注册信息;
用户搜索请求处理模块202,接收并处理搜索引擎客户端10发起的携带用户标识和搜索关键字信息的搜索请求,提取用户标识和搜索关键字信息,将用户标识和搜索关键字信息提交给历史搜索行为分析模块203;
用户搜索请求处理模块202还接收搜索引擎客户端10发送的打开Web页面、关闭Web页面以及结束搜索的对应通知消息,并转发接收的通知消息给历史搜索行为分析模块203;接收历史搜索行为分析模块203发送的Web页面搜索结果转发给搜索引擎客户端10。
历史搜索行为分析模块203,查询数据库30获得按照关键字相关性大小排列的第一Web页面序列,并根据获得的用户标识和关键字信息查找数据库30中存储的用户对各Web页面的累计历史浏览时间信息,再按照各Web页面的累计历史浏览时间从长到短的顺序重排第一Web页面序列,生成第二Web页面序列作为搜索结果发送给用户搜索请求处理模块202;在生成第二Web页面序列时,如果两个或多个Web页面的累计历史浏览时间相同,则按照关键字相关性从大到小的顺序排列;
历史搜索行为分析模块203接收到用户搜索请求处理模块202转发的打开/关闭页面通知消息时,统计用户本次搜索对各Web页面的浏览时长,当接收到本次搜索结束通知消息时,累计并更新数据库30中存储的用户对各Web页面的累计历史浏览时间信息。
其中,数据库30中保存已经按照关键字相关性分析算法处理过的Web页面信息,主要包括:Web页面信息及链接,页面对关键字的相关性,用户注册的用户标识,用户使用某一个关键字对某一个Web页面的累计历史浏览时间信息。
例如:“用户1”第一次采用搜索关键字“计算机”进行搜索时,对搜索结果中的“Web页面X”浏览时间为20秒;则搜索引擎服务器20在用户1第一次搜索结束后,在数据库30中存储记录如下表1所示:
表1
记录号 |
用户标识 |
搜索关健字 |
Web页面标志 |
累计浏览时间 |
1 |
用户1 |
计算机 |
Web页面X |
20 |
...... |
|
|
|
|
如果“用户1”本次仍采用关键字“计算机”进行搜索,并对搜索结果中的“Web页面X”浏览时间为50秒,则搜索引擎服务器20在用户1本次搜索结束后,累计该“用户1”采用搜索关键字“计算机”对“Web页面X”的浏览时间为20+50=70秒,更新数据库30中存储的记录1如下表2所示:
表2
记录号 |
用户标识 |
搜索关健字 |
Web页面标志 |
累计浏览时间 |
1 |
用户1 |
计算机 |
Web页面X |
70 |
...... |
|
|
|
|
以于搜索结果中用户没有打开过的Web页面,记录其对应的浏览时间为0。
根据本发明提供的上述信息搜索系统实施例,其实现信息搜索的具体过程为:
1、搜索引擎客户端10中的搜索请求模块102接受用户输入的用户标识和关键字信息发送搜过请求给搜索引擎服务器20中的用户搜索请求处理模块202;
2、用户搜索请求处理模块202提取用户标识和关键字信息,发送给历史搜索行为分析模块203;
3、历史搜索行为分析模块203查询数据库30获得按照关键字相关性大小排列的搜索结果(第一Web页面序列);并根据数据库30中存储的用户对各Web页面的累计历史浏览时间信息按浏览时间长短重新排序,生成新的第二Web页面序列;
4、历史搜索行为分析模块203将第二Web页面序列作为搜索结果返回给用户搜索请求处理模块202;
5、用户搜索请求处理模块202把搜索结果返回给搜索引擎客户端10,搜索引擎客户端10中的搜索请求模块102显示搜索结果给用户;
6、搜索引擎客户端10中的搜索请求模块102捕捉用户打开或者关闭某一Web页面的点击操作,以及结束本次搜索的操作,发送相应通知消息给搜索引擎服务器20中的用户搜索请求处理模块202;
7、用户搜索请求处理模块202把接收的用户打开或者关闭某一Web页面以及结束本次搜索的通知消息转发给历史搜索行为分析模块203;历史搜索行为分析模块203统计本次搜索用户对所有Web页面浏览时间;
8、本次搜索结束时,历史搜索行为分析模块203更新数据库30中存储的对应Web页面累积历史浏览时间信息。
图2所示信息搜索系统中,搜索引擎服务器20与数据库30独立设置,通过外部接口交互。
实际应用中,数据库30也可以设置在搜索引擎服务器20中,其结构示意图如图3所示。各模块功能及实现信息搜索的流程与图2类似,区别仅在于历史搜索行为分析模块与数据库通过内部接口访问。
综上所述,本发明基于现有技术中关键字相关性大小的搜索排列,再利用用户的历史搜索行为来对搜索结果进行重排,把用户累计历史浏览时间最长的Web页面排在搜索结果的最前面位置,若用户对两个或多个Web页面的累计历史浏览时间相同,则按照关键字相关性大小排列。这样可以使用户下一次搜索相同的关键字时,在搜索结果排列很靠前的位置就能获取想要的信息。并且随着用户历史搜索行为的累计,在搜索相同的关键字时,用户在越靠前的排名位置获得有用信息的概率越大,用户获取信息需要的时间越短,从而有效地提高搜索效率。
另外,由于搜索引擎服务器侧对每个用户都保存了其对应的Web页面累计历史浏览时间信息,这样,不同用户即使采用相同的搜索关键字进行搜索,其获得的搜索结果排列彼此不同,从而实现了对每个用户的个性化服务。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。