重庆分公司,新征程启航

为企业提供网站建设、域名注册、服务器等服务

数据库记录相似度php 查询数据库相似度最高的数据

php+mysql 怎么让一段字符串 和 数据库中的 指定字段 比较他们内容的相似度,然后按相似度排序?

纯sql的话,应该实现不了,相似的这个应该还是PHP来处理的,排第三的都没有相似的内容了,也要显示。那就是所有的数据,然后再foreach来做对比判断,我觉得可以将字符串分为数组,然后对比两个数组的交集个数,再按交集的个数来排序

专注于为中小企业提供成都网站制作、成都网站设计、外贸营销网站建设服务,电脑端+手机端+微信端的三站合一,更高效的管理,为中小企业大庆免费做网站提供优质的服务。我们立足成都,凝聚了一批互联网行业人才,有力地推动了千余家企业的稳健成长,帮助中小企业通过网站建设实现规模扩充和转变。

php+mysql 怎么让一段字符串和数据库中的指定字段 比较他们内容的相似度,然后按相似度排序?

根据你的需求,需要再详细一点,给一个具体的排序顺序:

例如:首先根据什么

性别、年龄、学历、行业、体型,是这个顺序吗?

如果是这个顺序;

你在mysql查询的时候:

select * from member order by 【性别的字段】 desc, 【年龄的字段】 desc ,【行业】desc .....等等,就可以了;

php根据相似度查找重复数据怎么实现?

1.首先,题主应该选一个相似度的计算维度,比如content字段,type字段等;

2.其次,题主考虑一下各个字段的权重,比如type字段必须相同,则让type字段使用typeWeight(例如赋值0.8)作为乘积的因子,而content字段本身是比较长的,所以需要计算出一个hash值,比如使用特定算法计算出一个hash值,然后把这个hash值按照16进制计算得到10进制数,再给一个权重contentWeight(例如0.2),另外再选取一个字段,比如description描述字段,再给一个权重descriptionWeight...

3.最后得到一个当前插入到表中的记录综合hash,typeWeight(contentHashcontentWeight+descriptionHash*descriptionWeight

+...),可能会涉及到大整数计算,不过PHP有BCMATH扩展可以使用,最终得到一个数值的综合hash值,保存到数据库的一个字段中,这个东西就可以理解为本条记录的特征值。


文章标题:数据库记录相似度php 查询数据库相似度最高的数据
分享地址:http://cqcxhl.com/article/ddocheh.html

其他资讯

在线咨询
服务热线
服务热线:028-86922220
TOP