本发明涉及搜索,具体地,涉及使用前缀树实现高性能股票搜索方法及系统。
背景技术:
1、现有的倒排索引是以词作为单位的索引,进行前缀搜索时需要首先扫描索引找出符合前缀要求的词的集合,然后再用展开的词集查询索引取得各个词对应的结果集,然后再计算所有结果集的并集。
2、在一个通常只进行前缀搜索的系统中该方法会在搜索时产生相当多的不必要负载,使用本发明可以将绝大多数的计算负载从搜索时转移到索引时,从而提高最终对外可见的服务的性能。
3、传统的倒排索引在无搜索结果,需要提供搜索建议时,通常会要扫描整个索引中的所有词并计算词与搜索内容间的编辑距离,然后从中选出距离较小的结果,会产生较大的开销。
4、专利文献cn103339887b(申请号:201180065692.2)公开了用于更新分组网络设备中的转发表的方法,包括:定义第一多个路由政策用于包括在路由列表的第一顺序地编号的列表中;使用包括在所述第一顺序地编号的列表中的信息来构建基数树结构;使用包括在被存储在所述分组网络设备中的ip前缀中的信息来搜索所述基数树结构以识别具有匹配ip前缀信息的最低序列号的路由政策;以及如果所识别的路由政策包括允许所述ip前缀的指令,则用所述ip前缀信息更新所述转发表。
5、专利文献cn110727958a(申请号:201910975894.9)公开了一种基于前缀树的差分隐私轨迹数据保护方法,在前缀树的基础上提出了满足差分隐私的噪音轨迹段前缀树结构,考虑到轨迹具有时空特性,前缀树的节点中存放的是轨迹段;为了降低轨迹数据处理的时空复杂度,在dml原理的基础上结合di jkstra方法,寻找轨迹的最佳分段;利用马尔科夫链限制添加到轨迹段前缀树中的噪音大小;运用差分隐私技术对轨迹段中的其它敏感数据添加噪音。
6、使用本发明可以定位到最后一个能产生结果的位置,由于树结构的特性,可以从此处快速找到后续可能扩展出的词,以及通过邻接关系找到相似的搜索词。
技术实现思路
1、针对现有技术中的缺陷,本发明的目的是提供一种使用前缀树实现高性能股票搜索方法及系统。
2、根据本发明提供的一种使用前缀树实现高性能股票搜索方法,包括:
3、步骤s1:基于关键词和关键词对应的结果列表构建前缀树;
4、步骤s2:将构建的前缀树转化为树序列发送至服务程序;
5、步骤s3:服务程序基于输入的搜索词,在前缀树中找到相应搜索结果。
6、优选地,所述步骤s1采用:构建前缀树,向前缀树中的节点录入关键词和相应的结果数据。
7、优选地,所述步骤s1采用:当遇到连续的只有一个分支的节点时,对当前节点进行合并操作从而实现路径压缩;当一个节点的子节点包含所有可能的输入情况时,所有子节点全部合并到上一层节点从而实现层压缩。
8、优选地,所述步骤s2采用:将构建的前缀树通过编码dfa方式转化为树序列发送至服务程序。
9、优选地,所述步骤s3采用:基于前缀树实现在用户出现错误输入时提供可能更正的所有选项的提示功能。
10、根据本发明提供的一种使用前缀树实现高性能股票搜索系统,包括:
11、模块m1:基于关键词和关键词对应的结果列表构建前缀树;
12、模块m2:将构建的前缀树转化为树序列发送至服务程序;
13、模块m3:服务程序基于输入的搜索词,在前缀树中找到相应搜索结果。
14、优选地,所述模块m1采用:构建前缀树,向前缀树中的节点录入关键词和相应的结果数据。
15、优选地,所述模块m1采用:当遇到连续的只有一个分支的节点时,对当前节点进行合并操作从而实现路径压缩;当一个节点的子节点包含所有可能的输入情况时,所有子节点全部合并到上一层节点从而实现层压缩。
16、优选地,所述模块m2采用:将构建的前缀树通过编码dfa方式转化为树序列发送至服务程序。
17、优选地,所述模块m3采用:基于前缀树实现在用户出现错误输入时提供可能更正的所有选项的提示功能。
18、与现有技术相比,本发明具有如下的有益效果:
19、1、本发明通过使用前缀树的结构,极大提升了面向用户的搜索服务的性能,同时实现了在用户出现输入错误时提供可能的更正提示的功能;
20、2、本发明通过路径压缩和纯压缩解决了简单的前缀树会在每个节点要求大量存放子节点的空间的技术问题;
21、3、本发明将针对标的的不同进行额外的排序操作,有利于将用户看到的搜索结果更符合实际需求的顺序而非混乱的随机排序。
1.一种使用前缀树实现高性能股票搜索方法,其特征在于,包括:
2.根据权利要求1所述的使用前缀树实现高性能股票搜索方法,其特征在于,所述步骤s1采用:构建前缀树,向前缀树中的节点录入关键词和相应的结果数据。
3.根据权利要求2所述的使用前缀树实现高性能股票搜索方法,其特征在于,所述步骤s1采用:当遇到连续的只有一个分支的节点时,对当前节点进行合并操作从而实现路径压缩;当一个节点的子节点包含所有可能的输入情况时,所有子节点全部合并到上一层节点从而实现层压缩。
4.根据权利要求1所述的使用前缀树实现高性能股票搜索方法,其特征在于,所述步骤s2采用:将构建的前缀树通过编码dfa方式转化为树序列发送至服务程序。
5.根据权利要求1所述的使用前缀树实现高性能股票搜索方法,其特征在于,所述步骤s3采用:基于前缀树实现在用户出现错误输入时提供可能更正的所有选项的提示功能。
6.一种使用前缀树实现高性能股票搜索系统,其特征在于,包括:
7.根据权利要求6所述的使用前缀树实现高性能股票搜索系统,其特征在于,所述模块m1采用:构建前缀树,向前缀树中的节点录入关键词和相应的结果数据。
8.根据权利要求7所述的使用前缀树实现高性能股票搜索系统,其特征在于,所述模块m1采用:当遇到连续的只有一个分支的节点时,对当前节点进行合并操作从而实现路径压缩;当一个节点的子节点包含所有可能的输入情况时,所有子节点全部合并到上一层节点从而实现层压缩。
9.根据权利要求6所述的使用前缀树实现高性能股票搜索系统,其特征在于,所述模块m2采用:将构建的前缀树通过编码dfa方式转化为树序列发送至服务程序。
10.根据权利要求6所述的使用前缀树实现高性能股票搜索系统,其特征在于,所述模块m3采用:基于前缀树实现在用户出现错误输入时提供可能更正的所有选项的提示功能。