【技术实现步骤摘要】
一种基于相似度算法的分页查询方法
[0001]本专利技术涉及分页查询领域,更具体的说是涉及一种基于相似度算法的分页查询方法。
技术介绍
[0002]在通常的分页排序方法中,大多采用通过数据库(如mysql等)的排序方法查询,利用LIMIT限制获取数据的起始值来获取指定页的数据。但使用此种方法会存在两个问题:一是通常数据库中排序方式为按首字母排序或按数据字段编码排序,如果需要将相似数据集中排列则无法做到,如ABCDEFG和ADBCEFG在一定情况下认为是相似数据,但使用通常的方法在这两条数据之间会夹杂大量如AC
……
的数据;二是每一次的换页查询均会请求一次数据库,而多次进行数据库的查询操作会将时间耗费在打开连接上,导致效率低下。
技术实现思路
[0003]本专利技术的目的在于提供一种基于相似度算法的分页查询方法,以期解决
技术介绍
中的问题。本专利利用相似度算法,解决了分页查询无法将相似数据集中排列排序及查询性能降低的问题,有效提升了查询效率。
[0004]为了实现上述目的,本专利技术采用
【技术保护点】
【技术特征摘要】
1.一种基于相似度算法的分页查询方法,其特征在于,包括以下步骤:步骤1:查询出数据表中需要进行排序的需求数据;步骤2:新建一个空集合requiredList用于保存计算了相似度后,相似数据已相邻集中排列的数据;步骤3:根据余弦相似度算法进行排序计算;步骤4:对于dataList中除[数据1]之外的剩余需求数据进行遍历处理;步骤5:对最终所取得requiredList中的数据进行自定义分页,得到的数据即为相似数据集中展示的结果。2.根据权利要求1所述的一种基于相似度算法的分页查询方法,其特征在于,所述步骤1,具体包括:步骤1.1:建立一个对象集合dataList,用于保存从数据表中查询所得的数据;步骤1.2:通过查询条件,使用select
…
from
…
where
…
语句查询出对应满足查询条件的所有数据[数据1,数据2
……
数据n-1,数据n];步骤1.3:将步骤1.3中查询所得到的[数据1,数据2
……
数据n-1
,数据n],保存到步骤1.1中所建的对象集合dataList中。3.根据权利要求2所述的一种基于相似度算法的分页查询方法,其特征在于,所述步骤2中所创建的空集合requiredList,其类型与步骤1.1中所建立的对象集合dataList类型一致,区别在于其中数据的排列顺序不同。4.根据权利要求2所述的一种基于相似度算法的分页查询方法,其特征在于,所述步骤3,具体包括:步骤3.1:从步骤1得到的dataList数据集合中的数据里选取出每条数据需要进行相似度计算的关键字,选出的关键字字段对应的值用于后续计算相似度;步骤3.2:设置一个预定值A作为数据相似度的判断标准阈值,采用余弦相似度算法,其计算公式为:其中,x
i
指[数据m-1
,数据m]中[数据m-1
]中某个字母出现的次数,y
i
指[数据m-1
,数据m]中[数据m]中此字母出现的次数,k指[数据m-1
,数据m]中字母的个数,m为3≤m≤n的整数;预定值A的取值范围为0~1。步骤3.3:将步骤1得到的dataList中的第一个数据[数据1]保存至步骤2创建的requiredList集合中,根据余弦相似度算法计算出此[数据1]与...
【专利技术属性】
技术研发人员:余锡娟,钟声,
申请(专利权)人:四川长虹电器股份有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。