根据文章标签相似度获取推荐文章

主要是使用similar_text函数判断两个字符串的相似度,排序后选出相似度排名前5为的数据

similar_text虽然对中文的相似度检测不是太准确,但是可以作为一个参考,挑选出相似文章

也可以直接对文章标题进行相似度检测获取推荐文章,通过文章标题的实现起来更简单一些

我这里给出的案例是根据标签相似度获取推荐文章的代码

//相关文章获取,使用similar_text函数
        $key=‘‘;
       //将本文的标签组合成字符串,因为每个标签在数据表是一条数据
        foreach ($tagsres as $v){
            $key=$key.‘,‘.$v[‘tags_name‘];
        }
        //halt($key);
//根据文章id分组获得各个文章的标签字符串
        $alltags=Db::query("select at_id,group_concat(tags_name) from blog_tags group by at_id");
        //$alltags=Db::table(‘blog_tags‘)->field(‘concat(tags_name),at_id‘)->select();
        //halt($alltags);
//获取所有文章标签与该文章标签的相似度
        $percent=array();
        foreach ($alltags as $v){
            $percent[$v[‘at_id‘]]=similar_text($key,$v[‘group_concat(tags_name)‘]);
        }
//去掉本文
        unset($percent[$at_id]);
//对相似度从大到小排序,arsort可以保留key,rsort不行
        arsort($percent);
//选取排名前五个
        $percent=array_slice($percent,0,5,true);
        //halt($percent);
        $arr=array();
        foreach ($percent as $k=>$v){
            $arr[]=$k;
        }
        //halt($arr);
//查询排名前5的文章
        $alsoarticle=Db::table(‘blog_article‘)->alias(‘a‘)->join(‘blog_cate b‘,‘a.cate_id=b.cate_id‘)->where([‘a.at_id‘=>$arr])->select();
        //halt($alsoarticle);
$this->assign(‘alsoarticle‘,$alsoarticle);

原文地址:https://www.cnblogs.com/jcydd/p/10765672.html

时间: 2024-10-08 16:29:20

根据文章标签相似度获取推荐文章的相关文章

phpcms-v9 --- 如何通过{pc}标签获取全站文章内容?

1.phpcms-v9默认情况下只能根据catid获取当前栏目及子栏目下的文章,但是有时候我们需要如何通过{pc}标签来获取全站文章内容的需求,应该怎么做呢? 第一步:在content_tag.class.php文件中添加如下方法: 1 /** 2 * 列表页标签:主要返回的是主表中数据与附表中数据 3 * @param $data 4 */ 5 public function lists_all($data) { 6 $this->db->set_model(1);//将模型手动指定为文章模

织梦模板调用最新文章标签、推荐内容标签、热门文章标签、栏目标签

织梦模板调用最新文章标签.推荐内容标签.热门文章标签.栏目标签 <div> <!--最新文档-->    {dede:arclist row=10 titlelen=42}    <li><a href="[field:arcurl/]">[field:title/]</a></li>    {/dede:arclist}    <!--//最新文档--></div> 推荐内容标签调用:&l

推荐文章:机器学习:“一文读懂机器学习,大数据/自然语言处理/算法全有了

PS:文章主要转载自CSDN大神"黑夜路人"的文章:          http://blog.csdn.NET/heiyeshuwu/article/details/43483655      本文主要对机器学习进行科普,包括机器学习的定义.范围.方法,包括机器学习的研究领域:模式识别.计算机视觉.语音识别.自然语言处理.统计学习和数据挖掘.这是一篇非常好的文章,尤其感学原文作者~          http://www.thebigdata.cn/JieJueFangAn/1308

scrapy 抓取果壳首页推荐文章

一直对爬虫耿耿于怀,今天总算是实现了,编写了一个Python Scrapy的爬虫获取果壳网首页的推荐文章. 打开果壳首页的一篇推荐文章,URL如下http://www.guokr.com/article/439791/可以看到果壳的文章都是在/article/下,并且所有文章是以6位数字表示,url问题解决了 下来是获取页面的标题,(图像使用的imgur的服务,国内可能需要多加载一段时间,请耐心等待) 我用的chrome浏览器,F12进入开发模式查看到源码 <h1 itemprop="ht

11.1-12.31推荐文章汇总

11.1-12.31推荐文章汇总 [移动开发] iOS开发- 以图搜图功能实现 (源码+解析)        hitwhylz Android任务和返回栈完全解析,细数那些你所不知道的细节        郭霖 Android 教你打造炫酷的ViewPagerIndicator 不仅仅是高仿MIUI        鸿洋_ "暗隐间谍"--利用NDK NativeActivity技术实现Android加固        androidsecurity Android Xfermode 实战

5.1-5.31推荐文章汇总

5.1-5.31推荐文章汇总 [移动开发] Android Volley完全解析(三),定制自己的Request guolin 雄踞AppStore榜首的游戏<别踩到白块儿>源代码分析和下载(一)touchsnow Cocos2d-x3.0游戏实例之<别救我>第四篇--乱入的主角笨木头 Android-自定义图像资源的使用(2)wwj_748 Android SQLite性能分析Horky <游戏脚本的设计与开发>-(RPG部分)3.6 队员列表和人物属性vipra C

7.1-7.31推荐文章汇总

7.1-7.31推荐文章汇总 [移动开发] Android ActionBar应用实战.高仿微信主界面的设计        guolin Cocos2d-x-Lua 开发简单的小游戏(记数字踩白块)        IT_xiao小巫 是男人就下100层[第四层]--Crazy贪吃蛇(1)        阳光小强 SEAndroid安全机制框架分析        罗升阳 Android多线程分析之四:MessageQueue的实现        飘飘白云 美女图片採集器 (源代码+解析)     

8.1-8.31推荐文章汇总

8.1-8.31推荐文章汇总 [移动开发] Cocos2d-x Lua 读取Csv文件.更方便的使用数据        笨木头 Android应用怎样支持屏幕多尺寸多分辨率问题        xyz_lmn CSDN Androidclient开发(二):具体解释怎样基于Java用Jsoup爬虫HTML数据        yanzi1225627 Android开发之WebView具体解释        CrazyCodeBoy ANDROID自己定义视图--onLayout源代码 流程 思路具

wordpress可以自定义获取相关文章的代码

将下面的代码插入functions.php中 获取相关文章的策略: 手动指定 > 标签 >分类 > 随机 //相关文章 function add_related_posts($content){ return $content . wp_related_posts(); } add_filter ('the_content', 'add_related_posts'); //hook function wp_related_posts(){ global $post; $num = 5;