CN103092860B - 搜索提示信息生成方法及装置 - Google Patents
搜索提示信息生成方法及装置 Download PDFInfo
- Publication number
- CN103092860B CN103092860B CN201110341891.3A CN201110341891A CN103092860B CN 103092860 B CN103092860 B CN 103092860B CN 201110341891 A CN201110341891 A CN 201110341891A CN 103092860 B CN103092860 B CN 103092860B
- Authority
- CN
- China
- Prior art keywords
- sequence number
- keyword
- data source
- list
- data sequence
- 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
Abstract
本发明公开了一种搜索提示信息生成方法及装置,所述方法包括:接收用户输入的搜索关键字;根据所述搜索关键字在预先建立的关键字对象列表中进行查找,如果查找成功,获得与所述搜索关键字对应的数据源序号;根据所述数据源序号在预先建立的数据源对象列表中进行查找,如果查找成功,获得与所述数据源序号对应的数据源;将所述数据源作为搜索提示信息呈现给所述用户。本发明公开的搜索提示信息生成方法及装置,和现有技术相比,能够明显提高查询效率,可以满足搜索引擎中的关键字提示功能对搜索提示信息的实时性要求,而且内存结构简单,占用空间较小。
Description
技术领域
本发明涉及数据处理技术领域,特别涉及一种搜索提示信息生成方法及装置。
背景技术
随着互联网技术的发展,为了满足互联网用户对不同领域信息的获取需求,近年来网络搜索技术成为非常热门的互联网技术之一,在目前绝大部分的搜索引擎中,默认搜索类别是网页搜索,网页搜索是指根据用户的搜索请求对所有网络资源都进行与用户意图搜索的词条相关的搜索。为了避免用户输入较长的搜索关键字,搜索引擎为用户提供了关键字提示功能,即在用户输入搜索关键字的前缀或者后缀的过程中,搜索引擎为用户提示多个常用搜索关键字,用户通过选择确定操作就会直接进行常用搜索关键字的在线搜索。
为实现搜索引擎中的关键字提示功能,通常采用如下两种方法:第一,索引搜索方法。首先需要在后台数据库中为用户要搜索的数据源建立索引,在用户输入搜索关键字之后,将用户输入的搜索关键字作为前缀在后台数据库的索引文件中进行查找,得到以所述搜索关键字为前缀的多个数据源,搜索引擎将查找到的多个数据源作为提示用户的常用搜索关键字。例如,当用户在搜索引擎的搜索栏中输入“新浪”时,将用户输入的“新浪”作为前缀在用户要搜索的数据源所在的后台数据库中进行查找,得到以“新浪”为前缀的多个数据源:“新浪新闻”、“新浪短信”、“新浪体育”、“新浪邮件”、“新浪科技”、“新浪财经”,将所述多个数据源作为提示用户的常用搜索关键字。第二,Trie树搜索方法。Trie树又称单词查找树或者键树,典型应用在大量字符串的统计和排序的场景中。在用户输入搜索关键字之后,将用户输入的搜索关键字作为前缀在Trie树中进行查找,用Trie树搜索一个关键字的时间与关键字自身的长度有关,最好的情况是O(1),即在Trie树的第一层即可判断是否搜索到用户输入的搜索关键字,最坏的情况是O(n),n为Trie树的层数。搜索引擎将查找到的多个数据源作为提示用户的常用搜索关键字。采用Trie树的搜索方法可以最大限度地减少无谓的字符串比较,搜索引擎采用Trie树进行搜索的搜索效率要高于索引搜索方法的搜索效率。
在实现本发明的过程中,发明人发现现有技术中至少存在如下问题:
搜索引擎采用索引搜索方法的查询速度比较慢,不能满足搜索引擎中的关键字提示功能对提示信息的实时性要求;而采用Trie树搜索方法,内存结构复杂,而且占用内存空间较大。
发明内容
有鉴于此,本发明的主要目的在于提供一种搜索提示信息生成方法,能够提高查询效率,而且内存结构简单,占用空间较小。
本发明的另一目的在于提供一种搜索提示信息生成装置,能够提高查询效率,而且内存结构简单,占用空间较小。
为达到上述目的,本发明的技术方案是这样实现的:
一种搜索提示信息生成方法,该方法包括:
接收用户输入的搜索关键字;
根据所述搜索关键字在预先建立的关键字对象列表中进行查找,如果查找成功,获得与所述搜索关键字对应的数据源序号;
根据所述数据源序号在预先建立的数据源对象列表中进行查找,如果查找成功,获得与所述数据源序号对应的数据源;
将所述数据源作为搜索提示信息呈现给所述用户。
一种搜索提示信息生成装置,包括:
接收单元,用于接收用户输入的搜索关键字,将所述搜索关键字发送给查找单元;
所述查找单元,用于在接收到所述搜索关键字之后,根据所述搜索关键字在预先建立的关键字对象列表中进行查找,如果查找成功,获得与所述搜索关键字对应的数据源序号;
所述查找单元,还用于根据所述数据源序号在预先建立的数据源对象列表中进行查找,如果查找成功,获得与所述数据源序号对应的数据源,将所述数据源发送给呈现单元;
所述呈现单元,用于在接收到所述数据源之后,将所述数据源作为搜索提示信息呈现给所述用户。
本发明提出的提示信息生成方法及装置,在接收到用户输入的搜索关键字之后,根据所述搜索关键字在预先建立的关键字对象列表中进行查找,如果查找成功,获得与所述搜索关键字对应的数据源序号,再根据所述数据源序号在预先建立的数据源对象列表中进行查找,如果查找成功,获得与所述数据源序号对应的数据源,将所述数据源作为搜索提示信息呈现给所述用户。本发明提出的搜索提示信息生成方法及装置,和现有技术相比,能够明显提高查询效率,可以满足搜索引擎中的关键字提示功能对搜索提示信息的实时性要求,而且内存结构简单,占用空间较小。
附图说明
图1为本发明搜索提示信息生成方法的流程图。
图2为本发明关键字对象列表结构示意图。
图3为本发明数据源对象列表结构示意图。
图4为本发明数据源对象列表和关键字对象列表的建立方法流程图。
图5为现有技术中数据源列表结构示意图。
图6为本发明建立数据序号对象的方法示意图。
图7为本发明数据源对象列表和关键字对象列表对应关系示意图。
图8为本发明数据源对象列表中数据源对象的删除方法流程图。
图9为本发明数据源对象中关键属性值的更新方法流程图。
图10为本发明搜索提示信息生成装置示意图。
具体实施方式
针对现有技术中存在的问题,本发明中提出一种改进后的搜索提示信息生成方法,能够明显提高查询效率,可以满足搜索引擎中的关键字提示功能对搜索提示信息的实时性要求,而且内存结构简单,占用空间较小。
为使本发明的技术方案更加清楚、明白,以下参照附图并举实施例,对本发明所述方案作进一步地详细说明。
图1为本发明搜索提示信息生成方法的流程图。如图1所示,该方法包括:
步骤101,接收用户输入的搜索关键字。
步骤102,根据搜索关键字在预先建立的关键字对象列表中进行查找,如果查找成功,获得与搜索关键字对应的数据源序号。
图2为本发明关键字对象列表结构示意图,如图2所示,所述关键字对象列表中包括m个关键字对象,其中,每个关键字对象中包括关键字、数据序号对象列表和数据序号对象备选列表,数据序号对象列表和数据序号对象备选列表中的数据序号对象中包括数据源序号。
在本步骤中,根据接收到的用户输入的搜索关键字,在预先建立的关键字对象列表中进行查找,如果查找成功,即如果在所述关键字对象列表中查找到与搜索关键字相同的关键字,则在与该匹配的关键字对应的数据序号对象列表中获得与所述搜索关键字对应的数据源序号。
步骤103,根据数据源序号在预先建立的数据源对象列表中进行查找,如果查找成功,获得与数据源序号对应的数据源。
图3为本发明数据源对象列表结构示意图。如图3所示,所述数据源对象列表包括n个数据源对象,其中,每个数据源对象中包括数据源序号、数据源和数据源属性列表,所述数据源属性列表中包括与所述数据源对应的转换值集合以及与所述数据源对应的关键属性值。
在本步骤中,根据数据源序号在预先建立的数据源对象列表中进行查找,如果查找成功,即如果在所述数据源对象列表中查找到相同的数据源序号,则获得与所述数据源序号对应的数据源。
步骤104,将数据源作为搜索提示信息呈现给用户。
本发明提出的搜索提示信息生成方法,在接收到用户输入的搜索关键字之后,根据所述搜索关键字在预先建立的关键字对象列表中进行查找,如果查找成功,获得与所述搜索关键字对应的数据源序号,再根据所述数据源序号在预先建立的数据源对象列表中进行查找,如果查找成功,获得与所述数据源序号对应的数据源,将所述数据源作为搜索提示信息呈现给所述用户。本发明提出的搜索提示信息生成方法,和现有技术相比,能够明显提高查询效率,可以满足搜索引擎中的关键字提示功能对搜索提示信息的实时性要求,而且内存结构简单,占用空间较小。
下面将现有技术中搜索提示信息生成的方法与本发明提出的搜索提示信息生成的方法在时间复杂度方面进行比较,假设数据源的数量为n,数据源的平均长度为i;关键字的数量为m,关键字的平均长度为j。由于数据源的平均长度为i和关键字的平均长度为j都比较小,因此可以将i和j作为常量处理。首先,采用现有技术中搜索提示信息生成的方法,查询一个数据源的时间复杂度为i+j,从n个数据源查询出m个关键字的时间复杂度为o(m*n);采用本发明提出的搜索提示信息生成的方法,从n个数据源查询出m个关键字的时间复杂度为i(i-1)/2*n,即时间复杂度为o(n)。由此可见,本发明提出的搜索提示信息生成的方法相对于现有技术,能够明显提高查询效率。
根据上述的描述可知,通过上述的步骤101~104,可以实现根据用户输入的搜索关键字,生成与所述搜索关键字相匹配的提示信息,能够明显提高查询效率,可以满足搜索引擎中的关键字提示功能对搜索提示信息的实时性要求,而且内存结构简单,占用空间较小。
较佳的,因为在根据用户输入的搜索关键字,生成与所述搜索关键字相匹配的提示信息之前,需要预先建立数据源对象列表和关键字对象列表,所以,在本发明的技术方案中,进一步提出根据现有的数据源列表建立数据源对象列表的方法,以及根据所述数据源对象列表建立关键字对象列表的方法,从而实现根据所述数据源对象列表和关键字对象列表,生成与搜索关键字相匹配的提示信息。图4为本发明数据源对象列表和关键字对象列表的建立方法流程图,如图4所示,在本发明的具体实施例中,在步骤101之前,还可以进一步包括如下所述的步骤:
步骤401,根据预设转换规则集合中不同的转换规则,将数据源列表中的每个数据源转换为两个以上转换数据源,每个所述转换数据源对应一个转换值,每个所述数据源对应一个转换值集合。
图5为现有技术中数据源列表结构示意图,如图5所示,所述数据源列表包括n个数据源记录,其中,每个数据源记录中包括数据源序号和数据源。
在本发明的具体实施例中,对于同一个数据源可以使用多种不同的转换方式以得到不同的转换数据源。为了区别各种不同的转换数据源,可以为各种转换数据源预先设置相应的转换值。例如,可以将未进行转换的原始数据所对应的转换值设置为最大转换值10,而将其他转换数据源所对应的转换值设置为低于原始数据源所对应的转换值。比如,将数据源根据预设转换规则集合中的全拼转换规则转换得到的全拼转换数据源对应的转换值为9;将数据源根据预设转换规则集合中的全拼首字母转换规则转换得到的首字母转换数据源对应的转换值为8;将数据源根据预设转换规则集合中的全拼纠错转换规则转换得到的纠错转换数据源对应的转换值为7。所以,所述数据源对应的转换值集合为:(10,9,8,7)。
具体地,以音乐搜索引擎中的歌手搜索为例,假设数据源列表中的第一个数据源为歌手名“刘德华”,设置原始数据“刘德华”对应的转换值为最大转换值10,根据预设转换规则集合中的全拼转换规则,将数据源“刘德华”转换为全拼转换数据源“liudehua”,所述全拼转换数据源“liudehua”的对应的转换值为9;根据预设转换规则集合中的全拼首字母转换规则,将数据源“刘德华”转换为首字母转换数据源“ldh”,所述首字母转换数据源“ldh”的对应的转换值为8;根据预设转换规则集合中的全拼纠错转换规则,将数据源“刘德华”转换得到的纠错转换数据源对应的转换值为7。所以,数据源“刘德华”对应的转换值集合为:(10,9,8,7)。
此外,需要说明的是,由于在本实施例中数据源列表中的数据源为汉字,因此该数据源对应预设转换规则集合中4种不同的转换规则,它们分别为原始数据转换规则、全拼转换规则、全拼首字母转换规则和全拼纠错转换规则,该数据源对应的转换值集合为(10,9,8,7);如果数据源列表中的数据源为英文,则该数据源对应预设转换规则集合中3种不同的转换规则,它们分别为原始数据转换规则、全拼首字母转换规则和全拼纠错转换规则,该数据源对应的转换值集合为:(10,8,7)。
还需要说明的是,所述预设转换规则集合中的转换规则一般情况下为上述4种,但是不排除所述预设转换规则集合中还包括其他预定的转换规则。
步骤402,建立与预设数据源列表对应的数据源对象列表,所述数据源对象列表中的每个数据源对象中包括数据源序号、数据源以及数据源属性列表,其中,所述数据源属性列表中包括与数据源对应的转换值集合以及与数据源对应的关键属性值。
在本步骤中,如图3所示,数据源对象列表中的数据源对象中包括数据源序号、数据源和数据源属性列表,所述数据源属性列表中包括与数据源对应的转换值集合以及与数据源对应的关键属性值。具体地,首先建立数据源对象列表中的第一个数据源对象,假设所述第一个数据源对象中的数据源为歌手名“刘德华”,因此所述第一个数据源对象中的数据源序号为1;所述第一个数据源对象中的数据源为“刘德华”。
对于该数据源对应的关键属性值,在本实施例中所述关键属性值为用户在预定时间段内搜索歌手名“刘德华”的搜索业务量,该搜索业务量可以存储在系统内存中,也可以存储在其他存储设备中。假设用户在预定时间段内搜索歌手名“刘德华”的搜索业务量为10000;由于在步骤401中已经得到数据源“刘德华”对应的转换值集合为:(10,9,8,7),因此,数据源对象列表中第一个数据源对象的数据源属性列表为:(10,9,8,7,10000)。
步骤403,按照字数递增的拆分规则,将每个转换数据源拆分为两个以上拆分关键字。
例如,在本步骤中,可以按照字数递增的拆分规则,将数据源“刘德华”拆分为“刘”、“刘德”和“刘德华”三个拆分关键字;将转换数据源“liudehua”拆分为“liude”和“liudehua”两个拆分关键字。
步骤404,建立与每个拆分关键字对应的数据序号对象,所述数据序号对象包括与数据源对应的数据源序号、与转换数据源对应的转换值以及与数据源对应的关键属性值。
图6为本发明建立数据序号对象的方法示意图。如图6所示,在数据源对象列表中,数据源序号1对应的数据源为“刘德华”,数据源序号1对应的数据源属性列表为:(10,9,8,7,10000)。由于拆分关键字“刘”、“刘德”和“刘德华”是由转换数据源“刘德华”拆分得到的,而该转换数据源对应的转换值为10,因此与拆分关键字“刘”、“刘德”和“刘德华”对应的数据序号对象均为“1(10,10000)”;由于拆分关键字“liude”和“liudehua”是由全拼转换数据源“liudehua”拆分得到的,因此与拆分关键字“liude”和“liudehua”对应的数据序号对象为“1(9,10000)”;同理,由于首字母转换数据源“ldh”对应的转换值为8,因此拆分关键字“ldh”对应的数据序号对象为“1(8,10000)”。
步骤405,根据两个以上拆分关键字、以及与每个拆分关键字对应的数据序号对象,建立与数据源对象列表对应的关键字对象列表。
例如,在本步骤中,如图6所示,可以首先将拆分关键字“刘”作为关键字在关键字对象列表中进行查找,由于此时关键字对象列表为空,所以查找失败,根据拆分关键字“刘”和与拆分关键字“刘”对应的数据序号对象“1(10,10000)”,建立与拆分关键字“刘”对应的关键字对象,并将所述关键字对象添加到关键字对象列表中,所述关键字对象包括拆分关键字“刘”以及与拆分关键字“刘”对应的数据序号对象“1(10,10000)”;接着,将拆分关键字“刘德”作为关键字在关键字对象列表中进行查找,由于目前关键字对象列表中只有一个拆分关键字为“刘”的关键字对象,所以查找失败,根据拆分关键字“刘德”和与拆分关键字“刘德”对应的数据序号对象“1(10,10000)”,建立与拆分关键字“刘德”对应的关键字对象,并将所述关键字对象添加到关键字对象列表中,所述关键字对象包括拆分关键字“刘德”以及与拆分关键字“刘德”对应的数据序号对象“1(10,10000)”;同样地,分别将拆分关键字“刘德华”、“liude”、“liudehua”和“ldh”作为关键字在关键字对象列表中进行查找,如果查找成功,将与所述拆分关键字对应的数据序号对象添加在与所述拆分关键字对应的数据序号对象列表中;如果查找不成功,建立与所述拆分关键字对应的关键字对象,并将所述关键字对象添加到所述关键字对象列表中。
图7为本发明数据源对象列表和关键字对象列表对应关系示意图。如图7所示,假设数据源列表中的第二个数据源为歌手名“刘欢”,设定原始数据“刘欢”对应的转换值为最大转换值10;根据预设转换规则集合中的全拼转换规则,将数据源“刘欢”转换为全拼转换数据源“liuhuan”,所述全拼转换数据源“liuhuan”对应的转换值为9;根据预设转换规则集合中的全拼首字母转换规则,将数据源“刘欢”转换为首字母转换数据源“lh”,所述首字母转换数据源“lh”对应的转换值为8;根据预设转换规则集合中的全拼纠错转换规则,将数据源“刘欢”转换得到的纠错转换数据源对应的转换值设置为7。所以,数据源“刘欢”对应的转换值集合为(10,9,8,7),假设用户在预定时间段内搜索歌手名“刘欢”的搜索业务量为500,则数据源对象列表中第二个数据源对象的数据源属性列表为:(10,9,8,7,500)。
接着,按照字数递增的拆分规则,将每个转换数据源拆分为两个以上拆分关键字。例如,将数据源“刘欢”拆分为“刘”和“刘欢”两个拆分关键字,由于拆分关键字“刘”是由转换数据源“刘欢”拆分得到的,而该转换数据源对应的转换值为10,因为与拆分关键字“刘”对应的数据序号对象为“2(10,500)”;与拆分关键字“刘欢”对应的数据序号对象为“2(10,500)”;与拆分关键字“liuhuan”和“lh”对应的数据序号对象分别为“2(9,500)”和“2(8,500)”。
然后,将拆分关键字“刘”作为关键字在关键字对象列表中进行查找,在关键字对象列表中查找到第一个关键字对象中的关键字为“刘”,查找成功,接下来先判断与拆分关键字“刘”对应的数据序号列表中的数据序号对象的个数是否大于预设阈值,假设所述预设阈值为2,由于目前与拆分关键字“刘”对应的数据序号对象的个数为1,小于所述预设阈值,那么将与拆分关键字“刘”对应的数据序号对象“2(10,500)”添加在与拆分关键字“刘”对应的数据序号对象列表中;如果与拆分关键字“刘”对应的数据序号列表中的数据序号对象的个数大于所述预设阈值,则将与拆分关键字“刘”对应的数据序号对象添加到与拆分关键字“刘”对应的数据序号对象备选列表中。同样地,将拆分关键字“刘欢”、“liuhuan”和“lh”分别作为关键字在关键字对象列表中进行查找,如果查找成功,即如果在所述关键字对象列表中查找到与拆分关键字相同的关键字,则将与所述拆分关键字对应的数据序号对象添加在与所述拆分关键字对应的数据序号对象列表或者数据序号对象备选列表中;如果查找失败,建立与所述拆分关键字对应的关键字对象,并将所述关键字对象添加到所述关键字对象列表中,所述关键字对象包括所述拆分关键字以及与拆分关键字对应的数据序号对象。
优选地,根据数据序号对象中与转换数据源对应的转换值以及与数据源对应的关键属性值,将与拆分关键字对应的数据序号对象列表中的数据序号对象和与拆分关键字对应的数据序号对象备选列表中的数据序号对象进行排序。例如,将与拆分关键字“刘”对应的数据序号对象列表中的数据序号对象“1(10,10000)”和“2(10,10000)”进行排序,首先比较数据序号对象中与转换数据源“刘”对应的转换值,由于数据序号对象“1(10,10000)”中与转换数据源“刘德华”对应的转换值为10;而数据序号对象“2(10,500)”中与转换数据源“刘欢”对应的转换值也为10,那么需要比较两个数据源对象中与数据源对应的关键属性值,由于数据序号对象“1(10,10000)”中与数据源“刘德华”对应的关键属性值为“10000”,而数据序号对象“2(10,500)”中与数据源“刘欢”对应的关键属性值为“500”,所以数据源序号对象“1(10,10000)”大于数据源序号对象“2(10,500)”。
另外,假设目前比较的两个数据序号对象为“1(9,10000)”和“2(10,500)”,首先比较这两个数据源序号对象中与转换数据源对应的转换值,由于第一个数据序号对象中与转换数据源对应的转换值为“9”,而第二个数据序号对象中与转换数据源对应的转换值为“10”,此时可以得出第一个数据序号对象小于第二个数据序号对象。
本发明提出的搜索提示信息生成方法,根据现有的数据源列表建立数据源对象列表的方法,以及根据所述数据源对象列表建立关键字对象列表的方法,从而实现根据所述数据源对象列表和关键字对象列表,生成与搜索关键字相匹配的提示信息。和现有技术相比,本发明提出的搜索提示信息生成方法,能够明显提高查询效率,满足搜索引擎中的关键字提示功能对提示信息的实时性要求,而且内存结构简单,占用空间较小。
根据上述的描述可知,通过上述的步骤401~405,可以实现数据源对象列表和关键字对象列表的建立,如果需要删除数据源对象列表中数据源对象,或者更新数据源对象中的待更新关键属性值,本发明还提出了数据源对象列表中数据源对象的删除方法以及数据源对象中关键属性值的更新方法。
图8为本发明数据源对象列表中数据源对象的删除方法流程图。如图8所示,包括以下步骤:
步骤801:接收待删除数据源对象中的待删除数据源。
步骤802:将待删除数据源作为关键字在数据源对象列表中进行查找,如果查找成功,获取与待删除数据源对应的待删除数据源序号。
步骤803:根据预设转换规则集合中不同的转换规则,将待删除数据源转换为两个以上待删除转换数据源。
步骤804,按照字数递增的拆分规则,将每个待删除转换数据源拆分为两个以上待删除拆分关键字。
步骤805,将每个待删除拆分关键字作为关键字在关键字对象列表中进行查找,如果查找成功,在与待删除拆分关键字对应的数据序号对象列表中查找与待删除数据源序号对应的待删除数据序号对象,如果查找成功,在与待删除拆分关键字对应的数据序号对象列表中删除所述待删除数据序号对象。
优选地,在与待删除拆分关键字对应的数据序号对象列表中删除待删除数据序号对象之后,判断与待删除拆分关键字对应的数据序号对象列表中数据序号对象的个数是否小于所述预设阈值,如果是,将与待删除拆分关键字对应的数据序号对象备选列表中最大的数据序号对象转移到与待删除拆分关键字对应的数据序号对象列表中。
此外,如果在与待删除拆分关键字对应的数据序号对象列表中查找与待删除数据源序号对应的待删除数据序号对象失败,则在与待删除拆分关键字对应的数据序号对象备选列表中查找与待删除数据源序号对应的待删除数据序号对象,如果查找成功,在与待删除拆分关键字对应的数据序号对象备选列表中删除待删除数据序号对象。
步骤806,在数据源对象列表中删除所述待删除数据源对象。
例如,如图7所示,假设需要删除数据源对象列表中数据源序号为1的数据源对象。在接收到待删除数据源对象中的待删除数据源“刘德华”之后,将待删除数据源“刘德华”作为关键字在数据源对象列表中进行查找,由于数据源对象列表中数据源序号1对应的数据源为“刘德华”,所以查找成功,获取与待删除数据源“刘德华”对应的待删除数据源序号1。
根据预设转换规则集合中的全拼转换规则,将待删除数据源“刘德华”转换为待删除转换数据源“liudehua”;根据预设转换规则集合中的全拼首字母转换规则,将待删除数据源“刘德华”转换为待删除转换数据源“ldh”。再按照字数递增的拆分规则,将待删除数据源“刘德华”拆分为“刘”、“刘德”和“刘德华”三个待删除拆分关键字;将待删除转换数据源“liudehua”拆分为“liude”和“liudehua”两个待删除拆分关键字。
将每个待删除拆分关键字作为关键字在关键字对象列表中进行查找,如果查找成功,即如果在所述关键字对象列表中查找到与待删除拆分关键字相同的关键字,则在与待删除拆分关键字对应的数据序号对象列表中查找与待删除数据源序号对应的待删除数据序号对象,如果查找成功,在与待删除拆分关键字对应的数据序号对象列表中删除所述待删除数据序号对象。如图7所示,首先将待删除拆分关键字“刘”作为关键字在关键字对象列表中进行查找,由于关键字对象列表中第一个关键字对象中的拆分关键字为“刘”,所以查找成功,接着在与待删除拆分关键字“刘”对应的数据序号对象列表“1(10,10000),2(10,500)”中查找与待删除数据源序号1对应的待删除数据序号对象,由于在与待删除拆分关键字“刘”对应的数据序号对象列表“1(10,10000),2(10,500)”中第一个数据序号对象的数据源序号为1,所以查找成功,则在与待删除拆分关键字“刘”对应的数据序号列表中删除数据序号对象“1(10,10000)”。优选地,在与待删除拆分关键字“刘”对应的数据序号对象列表中删除数据序号对象“1(10,100000)”之后,判断与待删除拆分关键字“刘”对应的数据序号对象列表中的数据序号对象个数是否小于预设阈值,如果是,将与待删除拆分关键字“刘”对应的数据序号对象备选列表中最大的数据序号对象转移到与待删除拆分关键字“刘”对应的数据序号对象列表中。
另外,如果在与待删除拆分关键字“刘”对应的数据序号对象列表中查找与待删除数据源序号1对应的待删除数据序号对象失败,则在与待删除拆分关键字“刘”对应的数据序号对象备选列表中查找与待删除数据源序号1对应的待删除数据序号对象,如果查找成功,在与待删除拆分关键字“刘”对应的数据序号对象备选列表中删除所述待删除数据序号对象。
接着,将待删除拆分关键字“刘德”作为关键字在关键字列表中进行查找,如果查找成功,在与待删除拆分关键字“刘德”对应的数据序号对象列表中查找与待删除数据源序号1对应的待删除数据序号对象,如果查找成功,在与待删除拆分关键字“刘德”对应的数据序号对象列表中删除待删除数据序号对象;如果在与待删除拆分关键字“刘德”对应的数据序号对象列表中查找与待删除数据源序号1对应的待删除数据序号对象失败,则在与待删除拆分关键字“刘德”对应的数据序号对象备选列表中查找与待删除数据源序号1对应的待删除数据序号对象,如果查找成功,在与待删除拆分关键字“刘德”对应的数据序号对象备选列表中删除待删除数据序号对象。
同样地,将每个待删除拆分关键字作为关键字在所述关键字对象列表中进行查找,直到遍历完成所有待删除拆分关键字为止。最后,在数据源对象列表中删除待删除数据源对象。
本发明提出的数据源对象列表中数据源对象的删除方法,在接收到待删除数据源对象中的待删除数据源之后,首先将待删除数据源作为关键字在数据源对象列表中进行查找,如果查找成功,获取与待删除数据源对应的待删除数据源序号,根据预设转换规则集合中不同的转换规则,将待删除数据源转换为两个以上待删除转换数据源,再按照字数递增的拆分规则,将每个待删除转换数据源拆分为两个以上待删除拆分关键字,将每个待删除拆分关键字作为关键字在关键字对象列表中进行查找,如果查找成功,在与待删除拆分关键字对应的数据序号对象列表中查找与待删除数据源序号对应的待删除数据序号对象,如果查找成功,在与待删除拆分关键字对应的数据序号对象列表中删除所述待删除数据序号对象。本发明提出的数据源对象列表中数据源对象的删除方法,和现有技术相比,能够明显提高查询效率,满足搜索引擎中的关键字提示功能对提示信息的实时性要求,而且内存结构简单,占用空间较小。
图9为本发明数据源对象中关键属性值的更新方法流程图。如图9所示,包括以下步骤:
步骤901,接收更新数据源对象中的更新数据源。
步骤902,将更新数据源作为关键字在数据源对象列表中进行查找,如果查找成功,获取与更新数据源对应的更新数据源序号,更新与所述更新数据源序号对应的待更新关键属性值。
步骤903,根据预设转换规则集合中不同的转换规则,将更新数据源转换为两个以上更新转换数据源。
步骤904,按照字数递增的拆分规则,将每个所述更新转换数据源拆分为两个以上更新拆分关键字。
步骤905,将每个更新拆分关键字作为关键字在关键字对象列表进行查找,如果查找成功,在与更新拆分关键字对应的数据序号对象列表中查找与更新数据源序号对应的待更新数据序号对象,如果查找成功,在与更新拆分关键字对应的数据序号对象列表中更新所述待更新数据序号对象中的待更新关键属性值。
优选地,在与更新拆分关键字对应的数据序号对象列表中更新所述待更新数据序号对象中的待更新关键属性值之后,判断更新后的数据序号对象是否小于与更新拆分关键字对应的数据序号对象备选列表中最大的数据序号对象,如果是,将数据序号对象备选列表中所述最大的数据序号对象转移到与更新拆分关键字对应的数据序号对象列表中,将数据序号对象列表中更新后的数据序号对象转移到与更新拆分关键字对应的数据序号对象备选列表中。
此外,如果在与所述更新拆分关键字对应的数据序号对象列表中查找与所述更新数据源序号对应的待更新数据序号对象失败,则在与所述更新拆分关键字对应的数据序号对象备选列表中查找与所述更新数据源序号对应的待更新数据序号对象,如果查找成功,在与所述更新拆分关键字对应的数据序号对象备选列表中更新所述待更新数据序号对象中的待更新关键属性值。
例如,如图7所示,假设需要将数据源序号1对应的待更新关键属性值10000更新为500。首先在接收到更新数据源对象中的更新数据源“刘德华”之后,将待更新数据源“刘德华”作为关键字在数据源对象列表中进行查找,由于数据源对象列表中数据源序号1对应的数据源为“刘德华”,所以查找成功,获取与更新数据源对应的更新数据源序号1。
然后,根据预设转换规则集合中的全拼转换规则,将更新数据源“刘德华”转换为更新转换数据源“liudehua”;根据预设转换规则集合中的全拼首字母转换规则,将更新数据源“刘德华”转换为更新转换数据源“ldh”。再按照字数递增的拆分规则,将更新数据源“刘德华”拆分为“刘”、“刘德”和“刘德华”三个更新拆分关键字;将更新转换数据源“liudehua”拆分为“liude”和“liudehua”两个更新拆分关键字。
接着,将每个更新拆分关键字作为关键字在关键字对象列表进行查找,如果查找成功,即如果在所述关键字对象列表中查找到与更新拆分关键字相同的关键字,则在与更新拆分关键字对应的数据序号对象列表中查找与更新数据源序号对应的待更新数据序号对象,如果查找成功,在与更新拆分关键字对应的数据序号对象列表中更新所述待更新数据序号对象中的待更新数据源属性。如图7所示,首先将更新拆分关键字“刘”作为关键字在关键字对象列表中进行查找,由于关键字对象列表中第一个关键字对象中的拆分关键字为“刘”,所以查找成功,接着在与更新拆分关键字“刘”对应的数据序号对象列表“1(10,10000),2(10,500)”中查找与更新数据源序号1对应的待更新数据序号对象,由于在与更新拆分关键字“刘”对应的数据序号对象列表“1(10,10000),2(10,500)”中第一个数据序号对象的数据源序号为1,所以查找成功,则在与更新拆分关键字“刘”对应的数据序号列表中将数据序号对象“1(10,10000)”更新为“1(10,500)”。
优选地,在与更新拆分关键字“刘”对应的数据序号对象列表中更新数据序号对象“1(10,100000)”之后,判断更新后的数据序号对象是否小于与更新拆分关键字“刘”对应的数据序号对象备选列表中最大的数据序号对象,如果是,将与更新拆分关键字“刘”对应的数据序号对象备选列表中最大的数据序号对象转移到与更新拆分关键字“刘”对应的数据序号对象列表中,将更新后的数据序号对象转移到与更新拆分关键字“刘”对应的数据序号对象备选列表中。优选地,根据数据序号对象中与转换数据源对应的转换值,以及与数据源对应的关键属性值,将与更新拆分关键字“刘”对应的数据序号对象列表和数据序号对象备选列表中的数据序号对象进行排序。
此外,如果在与更新拆分关键字“刘”对应的数据序号对象列表中查找与更新数据源序号1对应的待更新数据序号对象失败,则在与更新拆分关键字“刘”对应的数据序号对象备选列表中查找与更新数据源序号1对应的待更新数据序号对象,如果查找成功,在与更新拆分关键字对应的数据序号对象备选列表中更新所述待更新数据序号对象中的待更新数据源属性。优选地,根据数据序号对象中与转换数据源对应的转换值,以及与数据源对应的关键属性值,将与更新拆分关键字“刘”对应的数据序号对象备选列表中的数据序号对象进行排序。
本发明提出的数据源对象中关键属性值的更新方法,在接收到更新数据源对象中的更新数据源之后,将更新数据源作为关键字在数据源对象列表中进行查找,获取与更新数据源对应的更新数据源序号,更新与所述更新数据源序号对应的待更新关键属性值,然后根据预设转换规则集合中不同的转换规则,将更新数据源转换为两个以上更新转换数据源,再按照字数递增的拆分规则,将每个所述更新转换数据源拆分为两个以上更新拆分关键字,将每个更新拆分关键字作为关键字在关键字对象列表进行查找,在与更新拆分关键字对应的数据序号对象列表中查找与更新数据源序号对应的待更新数据序号对象,如果查找成功,在与更新拆分关键字对应的数据序号对象列表中更新所述待更新数据序号对象中的待更新关键属性值。本发明提出的搜索提示信息生成方法,和现有技术相比,能够明显提高查询效率,满足搜索引擎中的关键字提示功能对提示信息的实时性要求,而且内存结构简单,占用空间较小。
图10为本发明搜索提示信息生成装置示意图。如图10所示,所述装置包括:
接收单元1001,用于接收用户输入的搜索关键字,将所述搜索关键字发送给查找单元1002;
所述查找单元1002,用于在接收到所述搜索关键字之后,根据所述搜索关键字在预先建立的关键字对象列表中进行查找,如果查找成功,获得与所述搜索关键字对应的数据源序号;还用于根据所述数据源序号在预先建立的数据源对象列表中进行查找,如果查找成功,获得与所述数据源序号对应的数据源,将所述数据源发送给呈现单元1003;
所述呈现单元1003,用于在接收到所述数据源之后,将所述数据源作为搜索提示信息呈现给所述用户。
进一步的,所述装置还包括:
数据源转换单元1004,用于根据预设转换规则集合中不同的转换规则,将预设数据源列表中的每个数据源转换为两个以上转换数据源,每个所述转换数据源对应一个转换值,每个所述数据源对应一个转换值集合,并且,将所述两个以上转换数据源发送给拆分单元1005,将与每个所述数据源对应的转换值集合发送给数据源对象列表建立单元1006;
所述数据源对象列表建立单元1006,用于在接收到所述与每个所述数据源对应的转换值集合之后,建立与所述预设数据源列表对应的数据源对象列表,所述数据源对象列表中的每个数据源对象中包括数据源序号、所述数据源以及数据源属性列表,其中,所述数据源属性列表中包括与所述数据源对应的所述转换值集合以及与所述数据源对应的关键属性值;
所述拆分单元1005,用于在接收到所述两个以上转换数据源之后,按照字数递增的拆分规则,将每个所述转换数据源拆分为两个以上拆分关键字,将所述两个以上拆分关键字发送给数据序号对象建立单元1007和关键字对象列表建立单元1008;
所述数据序号对象建立单元1007,用于在接收到所述两个以上拆分关键字之后,建立与每个所述拆分关键字对应的数据序号对象,并将所述与每个所述拆分关键字对应的数据序号对象发送给关键字对象列表建立单元1008,其中,所述数据序号对象包括与所述数据源对应的所述数据源序号、与所述转换数据源对应的所述转换值以及与所述数据源对应的所述关键属性值;
所述关键字对象列表建立单元1008,用于在接收到所述两个以上拆分关键字以及与每个所述拆分关键字对应的数据序号对象之后,根据所述两个以上拆分关键字、以及与每个所述拆分关键字对应的数据序号对象,建立与所述数据源对象列表对应的关键字对象列表。
进一步的,如图10所示,所述关键字对象列表建立单元1008包括:查找子单元10081、添加子单元10082和关键字对象建立子单元10083。
所述查找子单元10081,用于将所述拆分关键字作为关键字在所述关键字对象列表中进行查找,如果查找成功,向添加子单元10082发送一个第一添加指令,如果查找不成功,向关键字对象建立子单元10083发送一个建立指令;
所述添加子单元10082,用于在接收到所述第一添加指令之后,将与所述拆分关键字对应的数据序号对象添加在与所述拆分关键字对应的数据序号对象列表中。
所述关键字对象建立子单元10083,用于在接收到所述建立指令之后,建立与所述拆分关键字对应的关键字对象,并将所述关键字对象添加到所述关键字对象列表中,所述关键字对象包括所述拆分关键字以及与所述拆分关键字对应的数据序号对象。
进一步的,所述关键字对象列表建立单元1008还包括:判断子单元10084;
所述查找子单元10081,还用于将所述拆分关键字作为关键字在所述关键字对象列表中进行查找,如果查找成功,向判断子单元发送10084发送一个第一判断指令;
判断子单元10084,用于在接收到所述第一判断指令之后,判断与所述拆分关键字对应的数据序号对象列表中数据序号对象的个数是否大于预设阈值,如果所述数据序号对象的个数大于所述预设阈值,向所述添加子单元10082发送一个第二添加指令;
所述添加子单元10082,还用于在接收到所述第二添加指令之后,将与所述拆分关键字对应的数据序号对象添加到与所述拆分关键字对应的数据序号对象备选列表中。
进一步的,所述数据序号对象建立单元1007,还用于将与每个所述拆分关键字对应的数据序号对象发送给排序单元1009;
所述排序单元1009,用于在接收到所述数据序号对象之后,根据所述数据序号对象中与所述转换数据源对应的所述转换值以及与所述数据源对应的所述关键属性值,将与所述拆分关键字对应的数据序号对象列表中的数据序号对象和与所述拆分关键字对应的数据序号对象备选列表中的数据序号对象进行排序。
进一步的,所述接收单元1001,还用于接收待删除数据源对象中的待删除数据源,将所述待删除数据源发送给所述查找单元1002和所述数据源转换单元1004;
所述数据源转换单元1004,还用于根据预设转换规则集合中不同的转换规则,将所述待删除数据源转换为两个以上待删除转换数据源,每个所述待删除转换数据源对应一个转换值,所述待删除数据源对应一个转换值集合,并且,将所述两个以上待删除转换数据源发送给拆分单元1005;
所述拆分单元1005,还用于在接收到所述待删除转换数据源之后,按照字数递增的拆分规则,将所述待删除转换数据源拆分为两个以上待删除拆分关键字,将所述两个以上拆分关键字发送给所述查找单元1002;
所述查找单元1002,用于在接收到所述待删除数据源之后,将所述待删除数据源作为关键字在所述数据源对象列表中进行查找,如果查找成功,获取与所述待删除数据源对应的待删除数据源序号;还用于在接收到所述两个以上待删除拆分关键字之后,将每个所述待删除拆分关键字作为关键字在所述关键字对象列表中进行查找,如果查找成功,在与所述待删除拆分关键字对应的数据序号对象列表中查找与所述待删除数据源序号对应的待删除数据序号对象,如果查找成功,向删除单元1010发送一个第一删除指令;
所述删除单元1010,用于在接收到所述第一删除指令之后,在与所述待删除拆分关键字对应的数据序号对象列表中删除所述待删除数据序号对象,并且在所述数据源对象列表中删除所述待删除数据源对象。
进一步的,所述查找单元1002,还用于在接收到所述两个以上待删除拆分关键字之后,将每个所述待删除拆分关键字作为关键字在所述关键字对象列表中进行查找,如果查找失败,在与所述待删除拆分关键字对应的数据序号对象备选列表中查找与所述待删除数据源序号对应的待删除数据序号对象,如果查找成功,向删除单元1010发送一个第二删除指令;
所述删除单元1010,还用于在接收到所述第二删除指令之后,在与所述待删除拆分关键字对应的数据序号对象备选列表中删除所述待删除数据序号对象,并且在所述数据源对象列表中删除所述待删除数据源对象。
进一步的,所述装置还包括判断单元1011和转移单元1012。
所述删除单元1010,还用于在与所述待删除拆分关键字对应的数据序号对象列表中删除所述待删除数据序号对象之后,向判断单元1011发送一个第二判断指令;
所述判断单元1011,用于在接收到所述第二判断指令之后,判断与所述待删除拆分关键字对应的数据序号对象列表中数据序号对象的个数是否小于所述预设阈值,如果是,向转移单元1012发送一个第一转移指令;
所述转移单元1012,用于在接收到所述第一转移指令之后,将与所述待删除拆分关键字对应的数据序号对象备选列表中最大的数据序号对象转移到与所述待删除拆分关键字对应的数据序号对象列表中。
进一步的,所述接收单元1001,还用于接收更新数据源对象中的更新数据源,将所述更新数据源发送给所述查找单元1002和所述数据源转换单元1004;
所述查找单元1002,还用于将所述更新数据源作为关键字在所述数据源对象列表中进行查找,如果查找成功,获取与所述更新数据源对应的更新数据源序号,将所述更新数据源序号发送给更新单元1013;
所述更新单元1013,用于在接收到所述更新数据源序号之后,更新与所述更新数据源序号对应的待更新关键属性值;
所述数据源转换单元1004,还用于在接收到所述更新数据源之后,根据预设转换规则集合中不同的转换规则,将所述更新数据源转换为两个以上更新转换数据源,将所述两个以上更新转换数据源发送给所述拆分单元1005;
所述拆分单元1005,还用于在接收到所述两个以上更新转换数据源之后,按照字数递增的拆分规则,将每个所述更新转换数据源拆分为两个以上更新拆分关键字,将所述两个以上更新拆分关键字发送给所述查找单元1002;
所述查找单元1002,还用于在接收到所述两个以上更新拆分关键字之后,将每个所述更新拆分关键字作为关键字在所述关键字对象列表进行查找,如果查找成功,在与所述更新拆分关键字对应的数据序号对象列表中查找与所述更新数据源序号对应的待更新数据序号对象,如果查找成功,向所述更新单元1013发送一个第一更新指令;
所述更新单元1013,用于在接收到所述第一更新指令之后,在与所述更新拆分关键字对应的数据序号对象列表中更新所述待更新数据序号对象中的待更新关键属性值。
进一步的,所述查找单元1002,还用于将每个所述更新拆分关键字作为关键字在所述关键字对象列表进行查找,如果查找失败,则在与所述更新拆分关键字对应的数据序号对象备选列表中查找与所述更新数据源序号对应的待更新数据序号对象,如果查找成功,向所述更新单元1013发送一个第二更新指令;
所述更新单元1013,还用于在接收到所述第二更新指令之后,在与所述更新拆分关键字对应的数据序号对象备选列表中更新所述待更新数据序号对象中的待更新关键属性值。
进一步的,所述更新单元1013,还用于在与所述更新拆分关键字对应的数据序号对象列表中更新所述待更新数据序号对象中的待更新关键属性值之后,向所述判断单元1011发送一个第三判断指令;
所述判断单元1011,还用于在接收到所述第三判断指令之后,判断更新后的数据序号对象是否小于与所述更新拆分关键字对应的数据序号对象备选列表中最大的数据序号对象,如果是,向所述转移单元1012发送一个第二转移指令;
所述转移单元1012,还用于在接收到所述第二转移指令之后,将所述最大的数据序号对象转移到与所述更新拆分关键字对应的数据序号对象列表中,将所述更新后的数据序号对象转移到与所述更新拆分关键字对应的数据序号对象备选列表中。
本发明提出的搜索提示信息生成装置,接收单元在接收到用户输入的搜索关键字之后,查找单元根据所述搜索关键字在预先建立的关键字对象列表中进行查找,如果查找成功,获得与所述搜索关键字对应的数据源序号,再根据所述数据源序号在预先建立的数据源对象列表中进行查找,如果查找成功,获得与所述数据源序号对应的数据源,通过呈现单元将所述数据源作为搜索提示信息呈现给所述用户。本发明提出的搜索提示信息生成装置,和现有技术相比,能够明显提高查询效率,可以满足搜索引擎中的关键字提示功能对搜索提示信息的实时性要求,而且内存结构简单,占用空间较小。
图10所示装置实施例的具体工作流程请参照图1所示方法实施例中的相应说明,不再赘述。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明保护的范围之内。
Claims (22)
1.一种搜索提示信息生成方法,其特征在于,包括:
接收用户输入的搜索关键字;
根据所述搜索关键字在预先建立的关键字对象列表中进行查找,如果查找成功,获得与所述搜索关键字对应的数据源序号;
根据所述数据源序号在预先建立的数据源对象列表中进行查找,如果查找成功,获得与所述数据源序号对应的数据源;
将所述数据源作为搜索提示信息呈现给所述用户;
其中,在所述接收用户输入的搜索关键字之前,还包括:
根据预设转换规则集合中不同的转换规则,将预设数据源列表中的每个数据源转换为两个以上转换数据源,每个所述转换数据源对应一个转换值,每个所述数据源对应一个转换值集合;
建立与所述预设数据源列表对应的数据源对象列表,所述数据源对象列表中的每个数据源对象中包括数据源序号、所述数据源以及数据源属性列表,其中,所述数据源属性列表中包括与所述数据源对应的所述转换值集合以及与所述数据源对应的关键属性值;
按照字数递增的拆分规则,将每个所述转换数据源拆分为两个以上拆分关键字;
建立与每个所述拆分关键字对应的数据序号对象,所述数据序号对象包括与所述数据源对应的所述数据源序号、与所述转换数据源对应的所述转换值以及与所述数据源对应的所述关键属性值;
根据所述两个以上拆分关键字、以及与每个所述拆分关键字对应的数据序号对象,建立与所述数据源对象列表对应的关键字对象列表;所述关键字对象列表中包括m个关键字对象,其中,每个关键字对象中包括关键字、数据序号对象列表和数据序号对象备选列表,数据序号对象列表和数据序号对象备选列表中的数据序号对象中包括数据源序号。
2.根据权利要求1所述的方法,其特征在于,所述根据所述两个以上拆分关键字、以及与每个所述拆分关键字对应的数据序号对象,建立与所述数据源对象列表对应的关键字对象列表,包括:
将所述拆分关键字作为关键字在所述关键字对象列表中进行查找,如果查找成功,将与所述拆分关键字对应的数据序号对象添加在与所述拆分关键字对应的数据序号对象列表中。
3.根据权利要求2所述的方法,其特征在于,还包括:
如果查找失败,建立与所述拆分关键字对应的关键字对象,并将所述关键字对象添加到所述关键字对象列表中,所述关键字对象包括所述拆分关键字以及与所述拆分关键字对应的数据序号对象。
4.根据权利要求3所述的方法,其特征在于,在所述将所述关键字对象添加到所述关键字对象列表中之前,还包括:
判断与所述拆分关键字对应的数据序号对象列表中数据序号对象的个数是否大于预设阈值,如果所述数据序号对象的个数大于所述预设阈值,将与所述拆分关键字对应的数据序号对象添加到与所述拆分关键字对应的数据序号对象备选列表中。
5.根据权利要求2或4所述的方法,其特征在于,还包括:
根据所述数据序号对象中与所述转换数据源对应的所述转换值以及与所述数据源对应的所述关键属性值,将与所述拆分关键字对应的数据序号对象列表中的数据序号对象和与所述拆分关键字对应的数据序号对象备选列表中的数据序号对象进行排序。
6.根据权利要求5所述的方法,其特征在于,还包括:
接收待删除数据源对象中的待删除数据源;
将所述待删除数据源作为关键字在所述数据源对象列表中进行查找,如果查找成功,获取与所述待删除数据源对应的待删除数据源序号;
根据预设转换规则集合中不同的转换规则,将所述待删除数据源转换为两个以上待删除转换数据源;
按照字数递增的拆分规则,将每个所述待删除转换数据源拆分为两个以上待删除拆分关键字;
将每个所述待删除拆分关键字作为关键字在所述关键字对象列表中进行查找,如果查找成功,在与所述待删除拆分关键字对应的数据序号对象列表中查找与所述待删除数据源序号对应的待删除数据序号对象,如果查找成功,在与所述待删除拆分关键字对应的数据序号对象列表中删除所述待删除数据序号对象;
在所述数据源对象列表中删除所述待删除数据源对象。
7.根据权利要求6所述的方法,其特征在于,还包括:
如果在与所述待删除拆分关键字对应的数据序号对象列表中查找与所述待删除数据源序号对应的待删除数据序号对象失败,则在与所述待删除拆分关键字对应的数据序号对象备选列表中查找与所述待删除数据源序号对应的待删除数据序号对象,如果查找成功,在与所述待删除拆分关键字对应的数据序号对象备选列表中删除所述待删除数据序号对象;
在所述数据源对象列表中删除所述待删除数据源对象。
8.根据权利要求6所述的方法,其特征在于,在所述在与所述待删除拆分关键字对应的数据序号对象列表中删除所述待删除数据序号对象之后,还包括:
判断与所述待删除拆分关键字对应的数据序号对象列表中数据序号对象的个数是否小于预设阈值,如果是,将与所述待删除拆分关键字对应的数据序号对象备选列表中最大的数据序号对象转移到与所述待删除拆分关键字对应的数据序号对象列表中。
9.根据权利要求5所述的方法,其特征在于,还包括:
接收更新数据源对象中的更新数据源;
将所述更新数据源作为关键字在所述数据源对象列表中进行查找,如果查找成功,获取与所述更新数据源对应的更新数据源序号,更新与所述更新数据源序号对应的待更新关键属性值;
根据预设转换规则集合中不同的转换规则,将所述更新数据源转换为两个以上更新转换数据源;
按照字数递增的拆分规则,将每个所述更新转换数据源拆分为两个以上更新拆分关键字;
将每个所述更新拆分关键字作为关键字在所述关键字对象列表进行查找,如果查找成功,在与所述更新拆分关键字对应的数据序号对象列表中查找与所述更新数据源序号对应的待更新数据序号对象,如果查找成功,在与所述更新拆分关键字对应的数据序号对象列表中更新所述待更新数据序号对象中的待更新关键属性值。
10.根据权利要求9所述的方法,其特征在于,还包括:
如果在与所述更新拆分关键字对应的数据序号对象列表中查找与所述更新数据源序号对应的待更新数据序号对象失败,则在与所述更新拆分关键字对应的数据序号对象备选列表中查找与所述更新数据源序号对应的待更新数据序号对象,如果查找成功,在与所述更新拆分关键字对应的数据序号对象备选列表中更新所述待更新数据序号对象中的待更新关键属性值。
11.根据权利要求9所述的方法,其特征在于,在所述在与所述更新拆分关键字对应的数据序号对象列表中更新所述待更新数据序号对象中的待更新关键属性值之后,还包括:
判断更新后的数据序号对象是否小于与所述更新拆分关键字对应的数据序号对象备选列表中最大的数据序号对象,如果是,将所述最大的数据序号对象转移到与所述更新拆分关键字对应的数据序号对象列表中,将所述更新后的数据序号对象转移到与所述更新拆分关键字对应的数据序号对象备选列表中。
12.一种搜索提示信息生成装置,其特征在于,包括:
接收单元,用于接收用户输入的搜索关键字,将所述搜索关键字发送给查找单元;
所述查找单元,用于在接收到所述搜索关键字之后,根据所述搜索关键字在预先建立的关键字对象列表中进行查找,如果查找成功,获得与所述搜索关键字对应的数据源序号;
所述查找单元,还用于根据所述数据源序号在预先建立的数据源对象列表中进行查找,如果查找成功,获得与所述数据源序号对应的数据源,将所述数据源发送给呈现单元;
所述呈现单元,用于在接收到所述数据源之后,将所述数据源作为搜索提示信息呈现给所述用户;
数据源转换单元,用于根据预设转换规则集合中不同的转换规则,将预设数据源列表中的每个数据源转换为两个以上转换数据源,每个所述转换数据源对应一个转换值,每个所述数据源对应一个转换值集合,并且,将所述两个以上转换数据源发送给拆分单元,将与每个所述数据源对应的转换值集合发送给数据源对象列表建立单元;
所述数据源对象列表建立单元,用于在接收到所述与每个所述数据源对应的转换值集合之后,建立与所述预设数据源列表对应的数据源对象列表,所述数据源对象列表中的每个数据源对象中包括数据源序号、所述数据源以及数据源属性列表,其中,所述数据源属性列表中包括与所述转换数据源对应的所述转换值集合以及与所述数据源对应的关键属性值;
所述拆分单元,用于在接收到所述两个以上转换数据源之后,按照字数递增的拆分规则,将每个所述转换数据源拆分为两个以上拆分关键字,将所述两个以上拆分关键字发送给数据序号对象建立单元和关键字对象列表建立单元;
所述数据序号对象建立单元,用于在接收到所述两个以上拆分关键字之后,建立与每个所述拆分关键字对应的数据序号对象,并将所述与每个所述拆分关键字对应的数据序号对象发送给关键字对象列表建立单元和排序单元,其中,所述数据序号对象包括与所述数据源对应的所述数据源序号、与所述转换数据源对应的所述转换值以及与所述数据源对应的所述关键属性值;
所述关键字对象列表建立单元,用于在接收到所述两个以上拆分关键字以及与每个所述拆分关键字对应的数据序号对象之后,根据所述两个以上拆分关键字、以及与每个所述拆分关键字对应的数据序号对象,建立与所述数据源对象列表对应的关键字对象列表;所述关键字对象列表中包括m个关键字对象,其中,每个关键字对象中包括关键字、数据序号对象列表和数据序号对象备选列表,数据序号对象列表和数据序号对象备选列表中的数据序号对象中包括数据源序号。
13.根据权利要求12所述的装置,其特征在于,所述关键字对象列表建立单元包括:
查找子单元,用于将所述拆分关键字作为关键字在所述关键字对象列表中进行查找,如果查找成功,向添加子单元发送一个第一添加指令,如果查找不成功,向关键字对象建立子单元发送一个建立指令;
所述添加子单元,用于在接收到所述第一添加指令之后,将与所述拆分关键字对应的数据序号对象添加在与所述拆分关键字对应的数据序号对象列表中。
14.根据权利要求13所述的装置,其特征在于,还包括:
所述关键字对象建立子单元,用于在接收到所述建立指令之后,建立与所述拆分关键字对应的关键字对象,并将所述关键字对象添加到所述关键字对象列表中,所述关键字对象包括所述拆分关键字以及与所述拆分关键字对应的数据序号对象。
15.根据权利要求13所述的装置,其特征在于,所述查找子单元,还用于将所述拆分关键字作为关键字在所述关键字对象列表中进行查找,如果查找成功,向判断子单元发送一个第一判断指令;
判断子单元,用于在接收到所述第一判断指令之后,判断与所述拆分关键字对应的数据序号对象列表中数据序号对象的个数是否大于预设阈值,如果所述数据序号对象的个数大于所述预设阈值,向所述添加子单元发送一个第二添加指令;
所述添加子单元,还用于在接收到所述第二添加指令之后,将与所述拆分关键字对应的数据序号对象添加到与所述拆分关键字对应的数据序号对象备选列表中。
16.根据权利要求15所述的装置,其特征在于,还包括:
排序单元,用于在接收到所述数据序号对象之后,根据所述数据序号对象中与所述转换数据源对应的所述转换值以及与所述数据源对应的所述关键属性值,将与所述拆分关键字对应的数据序号对象列表中的数据序号对象和与所述拆分关键字对应的数据序号对象备选列表中的数据序号对象进行排序。
17.根据权利要求16所述的装置,其特征在于,所述接收单元,还用于接收待删除数据源对象中的待删除数据源,将所述待删除数据源发送给所述查找单元和所述数据源转换单元;
所述查找单元,用于在接收到所述待删除数据源之后,将所述待删除数据源作为关键字在所述数据源对象列表中进行查找,如果查找成功,获取与所述待删除数据源对应的待删除数据源序号;
所述数据源转换单元,还用于根据预设转换规则集合中不同的转换规则,将所述待删除数据源转换为两个以上待删除转换数据源,每个所述待删除转换数据源对应一个转换值,所述待删除数据源对应一个转换值集合,并且,将所述两个以上待删除转换数据源发送给拆分单元;
所述拆分单元,还用于在接收到所述待删除转换数据源之后,按照字数递增的拆分规则,将所述待删除转换数据源拆分为两个以上待删除拆分关键字,将所述两个以上拆分关键字发送给所述查找单元;
所述查找单元,还用于在接收到所述两个以上待删除拆分关键字之后,将每个所述待删除拆分关键字作为关键字在所述关键字对象列表中进行查找,如果查找成功,在与所述待删除拆分关键字对应的数据序号对象列表中查找与所述待删除数据源序号对应的待删除数据序号对象,如果查找成功,向删除单元发送一个第一删除指令;
所述删除单元,用于在接收到所述第一删除指令之后,在与所述待删除拆分关键字对应的数据序号对象列表中删除所述待删除数据序号对象,并且在所述数据源对象列表中删除所述待删除数据源对象。
18.根据权利要求17所述的装置,其特征在于,所述查找单元,还用于在接收到所述两个以上待删除拆分关键字之后,将每个所述待删除拆分关键字作为关键字在所述关键字对象列表中进行查找,如果查找失败,在与所述待删除拆分关键字对应的数据序号对象备选列表中查找与所述待删除数据源序号对应的待删除数据序号对象,如果查找成功,向删除单元发送一个第二删除指令;
所述删除单元,还用于在接收到所述第二删除指令之后,在与所述待删除拆分关键字对应的数据序号对象备选列表中删除所述待删除数据序号对象,并且在所述数据源对象列表中删除所述待删除数据源对象。
19.根据权利要求17所述的装置,其特征在于,所述删除单元,还用于在与所述待删除拆分关键字对应的数据序号对象列表中删除所述待删除数据序号对象之后,向判断单元发送一个第二判断指令;
所述判断单元,用于在接收到所述第二判断指令之后,判断与所述待删除拆分关键字对应的数据序号对象列表中数据序号对象的个数是否小于所述预设阈值,如果是,向转移单元发送一个第一转移指令;
所述转移单元,用于在接收到所述第一转移指令之后,将与所述待删除拆分关键字对应的数据序号对象备选列表中最大的数据序号对象转移到与所述待删除拆分关键字对应的数据序号对象列表中。
20.根据权利要求16所述的装置,其特征在于,所述接收单元,还用于接收更新数据源对象中的更新数据源,将所述更新数据源发送给所述查找单元和所述数据源转换单元;
所述查找单元,还用于将所述更新数据源作为关键字在所述数据源对象列表中进行查找,如果查找成功,获取与所述更新数据源对应的更新数据源序号,将所述更新数据源序号发送给更新单元;
所述更新单元,用于在接收到所述更新数据源序号之后,更新与所述更新数据源序号对应的待更新关键属性值;
所述数据源转换单元,还用于在接收到所述更新数据源之后,根据预设转换规则集合中不同的转换规则,将所述更新数据源转换为两个以上更新转换数据源,将所述两个以上更新转换数据源发送给所述拆分单元;
所述拆分单元,还用于在接收到所述两个以上更新转换数据源之后,按照字数递增的拆分规则,将每个所述更新转换数据源拆分为两个以上更新拆分关键字,将所述两个以上更新拆分关键字发送给所述查找单元;
所述查找单元,还用于在接收到所述两个以上更新拆分关键字之后,将每个所述更新拆分关键字作为关键字在所述关键字对象列表进行查找,如果查找成功,在与所述更新拆分关键字对应的数据序号对象列表中查找与所述更新数据源序号对应的待更新数据序号对象,如果查找成功,向所述更新单元发送一个第一更新指令;
所述更新单元,用于在接收到所述第一更新指令之后,在与所述更新拆分关键字对应的数据序号对象列表中更新所述待更新数据序号对象中的待更新关键属性值。
21.根据权利要求20所述的装置,其特征在于,所述查找单元,还用于将每个所述更新拆分关键字作为关键字在所述关键字对象列表进行查找,如果查找失败,则在与所述更新拆分关键字对应的数据序号对象备选列表中查找与所述更新数据源序号对应的待更新数据序号对象,如果查找成功,向所述更新单元发送一个第二更新指令;
所述更新单元,还用于在接收到所述第二更新指令之后,在与所述更新拆分关键字对应的数据序号对象备选列表中更新所述待更新数据序号对象中的待更新关键属性值。
22.根据权利要求20所述的装置,其特征在于,所述更新单元,还用于在与所述更新拆分关键字对应的数据序号对象列表中更新所述待更新数据序号对象中的待更新关键属性值之后,向判断单元发送一个第三判断指令;
所述判断单元,还用于在接收到所述第三判断指令之后,判断更新后的数据序号对象是否小于与所述更新拆分关键字对应的数据序号对象备选列表中最大的数据序号对象,如果是,向转移单元发送一个第二转移指令;
所述转移单元,还用于在接收到所述第二转移指令之后,将所述最大的数据序号对象转移到与所述更新拆分关键字对应的数据序号对象列表中,将所述更新后的数据序号对象转移到与所述更新拆分关键字对应的数据序号对象备选列表中。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201110341891.3A CN103092860B (zh) | 2011-11-02 | 2011-11-02 | 搜索提示信息生成方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201110341891.3A CN103092860B (zh) | 2011-11-02 | 2011-11-02 | 搜索提示信息生成方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103092860A CN103092860A (zh) | 2013-05-08 |
CN103092860B true CN103092860B (zh) | 2016-06-22 |
Family
ID=48205440
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201110341891.3A Active CN103092860B (zh) | 2011-11-02 | 2011-11-02 | 搜索提示信息生成方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103092860B (zh) |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103631952B (zh) * | 2013-12-12 | 2017-12-22 | 用友网络科技股份有限公司 | 一种通过分离与统一的方式从多数据源抽取复杂数据分析信息的方法 |
CN105024906B (zh) * | 2014-04-21 | 2018-10-02 | 腾讯科技(深圳)有限公司 | 社交网络中的群消息存储、查询方法和系统 |
CN107870935A (zh) * | 2016-09-27 | 2018-04-03 | 新华三技术有限公司 | 一种搜索方法及装置 |
CN107784064B (zh) * | 2017-07-27 | 2019-12-13 | 深圳壹账通智能科技有限公司 | 网页数据处理方法、装置、计算机设备及计算机存储介质 |
CN108038113A (zh) * | 2017-10-16 | 2018-05-15 | 武汉楚鼎信息技术有限公司 | 基于互联网金融智能问答的检索方法及系统 |
CN109522550B (zh) * | 2018-11-08 | 2023-04-07 | 和美(深圳)信息技术股份有限公司 | 文本信息纠错方法、装置、计算机设备和存储介质 |
CN109669978B (zh) * | 2018-12-13 | 2021-02-19 | 中国联合网络通信集团有限公司 | 数据资源服务生成方法、装置和系统 |
CN111859091B (zh) * | 2020-07-21 | 2021-06-04 | 山东省科院易达科技咨询有限公司 | 一种基于人工智能的搜索结果的聚合方法及装置 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101196900A (zh) * | 2007-12-27 | 2008-06-11 | 中国移动通信集团湖北有限公司 | 一种基于元数据的信息检索方法 |
CN101364233B (zh) * | 2008-09-28 | 2010-07-28 | 腾讯科技(深圳)有限公司 | 网络资源搜索管理系统及网络资源搜索管理方法 |
CN101493340B (zh) * | 2009-03-06 | 2011-04-27 | 清华大学 | 一种车辆导航系统中兴趣点信息的快速检索方法 |
CN101963977A (zh) * | 2010-09-19 | 2011-02-02 | 北京腾瑞万里科技有限公司 | 无城市搜索方法及移动终端 |
-
2011
- 2011-11-02 CN CN201110341891.3A patent/CN103092860B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN103092860A (zh) | 2013-05-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103092860B (zh) | 搜索提示信息生成方法及装置 | |
US9342553B1 (en) | Identifying distinct combinations of values for entities based on information in an index | |
CN107784044B (zh) | 表数据查询方法及装置 | |
CN102368262A (zh) | 一种提供与查询序列相对应的搜索建议的方法与设备 | |
US9020951B2 (en) | Methods for indexing and searching based on language locale | |
CN101916285B (zh) | 一种互联网网页内容解析方法及装置 | |
US20070136370A1 (en) | Peer-to-peer file sharing | |
US10713302B2 (en) | Search processing method and device | |
CN103164449A (zh) | 一种搜索结果的展现方法与装置 | |
CN101150489A (zh) | 基于分布式哈希表的资源共享方法 | |
WO2008055428A1 (fr) | Procédé, système et dispositif de recherche de réseau | |
CN103488759A (zh) | 一种根据关键词搜索应用程序的方法和装置 | |
CN1904886A (zh) | 在多个文档之间建立链接结构的方法和装置 | |
CN104268157A (zh) | 一种数据搜索中的纠错装置及其方法 | |
CN106777343A (zh) | 增量分布式索引系统和方法 | |
US20190188647A1 (en) | Multiple element job classification | |
CN102999495B (zh) | 一种同义词语义映射关系确定方法及装置 | |
CN102436458B (zh) | 一种命令解析的方法及其系统 | |
US20130159315A1 (en) | Methods for prefix indexing | |
CN108241709B (zh) | 一种数据集成方法、装置和系统 | |
KR100999408B1 (ko) | 해시트리를 이용한 url 검색방법 | |
CN103258052B (zh) | 一种eMule网络上关联资源的发现方法 | |
CN100485664C (zh) | 一种多关键字自动状态机查找匹配方法 | |
CN103064825B (zh) | 模糊音对建立、设置方法和输入法及其装置和系统 | |
CN102722502A (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 | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |