一种搜索引擎查询方法及装置的制造方法_2

文档序号:9547249阅读:来源:国知局
于标准差Ρ2以及调节系数Ν的关系,通过公式(1)计算得到的查询条件在当前时间片的预估频率会小于该查询条件在每一个时间片内的实际出现频率。这是为了给出一个预估的查询结果总数量的下限值,即该预估的查询结果总数量要低于真实的查询数量,以满足用户的查询需求。
[0042]此外,公式⑴中的出现频率标准差P2随着系统的运行会趋于稳定,因此,当P2稳定后,不需要再计算该查询条件在每一个时间片内的实际出现频率,而是将稳定后的P2直接代入公式(1)计算每一个时间片的预估频率,可有效节约系统资源,提高用户的查询效率。
[0043]在计算得到每一个查询条件在当前时间片内的预估频率后,获取当前时间片内的记录总数,根据当前时间片内的记录总数以及每一个查询条件的预估频率计算当前时间片内满足用户输入的若干查询条件的结果数量。
[0044]具体为,求当前时间片内的记录总数与每一个查询条件的预估频率的乘积作为当前时间片内满足查询条件的结果数量。例如,以过车记录为例,假设,用户输入“8:55?9:50”、“浙A”、“黑色”,启动查询,假设,当前时间片(9:30?9:45)内的过车记录为100条,“浙A”的预估频率为80%,“黑色”的预估频率为60%,则当前时间片(9:30?9:45)同时满足上述两个查询条件的过车记录(查询结果数量)为100*80% *60%= 48条。
[0045]步骤1023,将当前时间片的结果数量与当前已累计的查询结果总数量进行累加作为新的查询结果总数量。
[0046]如前所述,用户输入的第一查询时间段可能包含多个时间片,当前时间片的结果数量要与同一查询时间段内的其它时间片的结果数量逐步进行累加。
[0047]步骤1024,判断当前的查询结果总数量是否达到预设的查询结果数量阈值。
[0048]本申请实施例中预设了一个查询结果数量阈值,通过该阈值设定,使得根据用户输入查询条件返回的查询结果数量不至于过大,而影响查询的响应速度。该查询结果数量阈值可根据查询条件灵活设置,对于精细查询,可设置较小的查询结果数量阈值,例如,查询车牌“浙A MA123”的过车记录,可设置查询结果数量阈值为10万条;对于模糊查询,可设置较大的查询结果数量阈值,例如,查询车牌“浙A ???? 6”的过车记录,可设置查询结果数量阈值为200万条。
[0049]当通过步骤1023对当前时间片的结果数量进行累计后,判断当前的查询结果总数量是否达到预设的查询结果数量阈值,若是,说明当前的查询结果总数量已可以满足用户的查询需求,无需再提供过多的查询记录,则执行步骤1025 ;若否,说明还可以继续获取满足查询条件的记录,则执行步骤1026。
[0050]步骤1025,按照时间排序方式选择所述第一查询时间段的起始时间点到所述当前时间片的截止时间点的时间区间作为第二查询时间段。
[0051 ] 此处举例说明,假设,用户输入的第一查询时间段为8:55?9:50,查询条件为“浙A”、“黑色”,当前预设的查询结果数量阈值为10万,要求按照时间倒序排序。其中,第一查询时间段包含9:00?9:15、9:15?9:30、9:30?9:45三个时间片。假设,时间片9:30?9:45和9:15?9:30预估的满足查询条件的结果数量分别为5.5万和5万,则从9:30?9:45开始累计,累计到9:15?9:30时,查询结果总数量(5.5万+5万)已经超过查询结果数量阈值(10万),此时,不再累计9:00?9:15时间片,而将9:15?9:50作为第二查询时间段。可见,该第二查询时间段(9:15?9:50)小于用户输入的第一查询时间段(8:55?9:50),但是,返回的查询结果数量已可以满足用户的查询需求。
[0052]步骤1026,判断所述第一查询时间段中所有时间片是否均已参与查询结果总数量预估操作。
[0053]如果当前的查询结果总数量还没有达到预设的查询结果数量阈值,则可以顺利累计其它时间片的结果数量,如果用户输入的第一查询时间段内的所有时间片均已参与过累计,则说明用户输入的第一查询时间段内的查询结果总数量不大,不会影响查询响应速度,因此,执行步骤1027 ;若否,说明用户输入的第一查询时间段中还有未参与累计的时间片,则返回步骤1021。
[0054]步骤1027,将所述第一查询时间段作为所述第二查询时间段。
[0055]可见,通过步骤1021?步骤1027确定出第二查询时间段,该第二查询时间段小于或等于用户输入的第一查询时间段。
[0056]步骤103,将所述第一查询时间段替换为所述第二查询时间段,向搜索引擎下发包含所述第二查询时间段的查询条件。
[0057]搜索引擎根据下发的第二查询时间段进行查询,获取最终的查询结果,由于第二查询时间段相对于第一查询时间段进行了时间紧缩,因此,可降低返回的结果数量,提高查询效率。
[0058]现仍以过车记录为例,详细介绍搜索引擎查询过程。
[0059]假设,用户输入的第一查询时间段为2015年9月1日8:55?9:50,查询条件为“浙A”、“黑色”的过车记录,要求按时间倒序排序。
[0060]搜索引擎服务器预设查询结果数量阈值为300万条。根据用户输入的第一查询时间段,确定位于该时间段内的时间片为9:00?9:15、9:15?9:30、9:30?9:45,各时间片内的过车记录分别为200万条、300万条以及400万条。
[0061]搜索引擎服务器根据用户的排序要求,首先预估9:30?9:45时间片内满足用户查询条件的过车记录。预估过程如下:
[0062]分别计算查询条件“浙A”和“黑色”的预估频率,计算方法相同,以“浙A”为例,假设,从搜索引擎服务器开始运行到现在,记录的“浙A”车牌的过车记录为1亿条,记录的所有车牌的过车记录为1.25亿条,则“浙A”的平均出现频率P1为1/1.25 = 80%;假设,搜索引擎服务器当前处于初始运行阶段,则分别统计当前时刻之前的若干时间片内“浙A”的实际出现频率,实际出现频率为对应时间片内“浙A”的统计数量占该时间片内所有车牌统计数量的百分比,假设,统计了 6个时间片内“浙A”的实际出现频率,分别为82%、76%、80%、83%,76%,83%,计算上述6个实际出现频率的标准差P2为3%;代入公式P = (P1_N*P2),假设,N为3,则9:30?9:45时间片内“浙A”车牌的预估频率为P = (80% -3*3% )=71%。
[0063]同理,计算9:30?9:45时间片内“黑色”车辆的预估频率为60 %。则9:30?9:45时间片内满足“浙A”、“黑色”的过车记录为400万*71% *60%= 170.4万,小于预设的查询结果数量阈值300万条。
[0064]继续预估9:15?9:30时间片内满足用户查询条件的过车记录,方法同上,假设9:15?9:30时间片内“浙A”车牌的预估频率为80%,“黑色”车辆的预估频率为70%。贝lj9:15?9:30时间片内满足“浙A”、“黑色”的过车记录为300万*80% *70%= 168万,加上9:30?9:45时间片的170.4万,累计满足查询条件的过车记录为338.4万条,超过预设的查询结果数量阈值300万条。因此,确定紧缩后的第二查询时间段为9:15?9:50,该第二查询时间段小于用户输入的第一查询时间段8:55?9:50。
[0065]向搜索引擎下发查询时间段9:15?9:50,以及“浙A”、“黑色”的查询条件,搜索引擎返回的查询结果中至少不会包含8:55?9:15时间范围内满足查询条件的过车记录,因此,可提高搜索引擎的查询以及排序的效率。
[0066]此外,当搜索引擎服务器运行稳定后,即连续计算的频率标准差P2基本不变时,例如,标准差P2基本稳定在1%时,无需再实时统计每一个时间片内查询条件(“浙A”或“黑色”)的实际出现频率,直接利用趋于稳定的标准差(1%)计算时间片内的预估频率即可。
[0067]与前述搜索引擎查询方法的实施例相对应,本申请还提供了搜索引擎查询装置的实施例。
[0068]本申请搜索引擎查询装置的实施例可以应用在搜索引擎服务器上。装置实施例可以通过软件实现,也可以通过硬件或者软硬件结合的方式实现。以软件实现为例,作为一个逻辑意义上的装置,是通过其所在设备的处理器运行存储器中对应的计算机程序指令形成的。从硬件层面而言,如图3所示,为本申请搜索引擎查询装置所在设备的一种硬件结构图,除了图3所示的处理器、网络接口、以及存储器之外,实施例中装置所在的设备通常根据该设备的实际功能,还可以包括其他硬件,对此不再赘述。
[0069]请参考图4,为本申请一个实施例中的搜索引擎查询装置的结构示意图。该搜索引擎
当前第2页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1