数据库记录相似度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://ybzwz.com/article/ddocheh.html