频道栏目
首页 > 程序开发 > Web开发 > PHP教程 > 开源程序 > phpcms > 正文
PHPCMS取消搜索时的分词功能的方法
2016-01-08 15:36:06      个评论      
收藏   我要投稿
PHPCMS的搜索功能相比其他CMS算是比较差的了,搜索精度非常低。虽说他有个搜索关键字分词功能,但有的时候不分词的准确度却会高于分词。如何去掉PHPCMS关闭搜索关键字分词功能?

用记事本打开 \phpcms\modules\search\index.php 大概在78行能够找到下面的代码:

 

代码如下:

$segment_q = $segment->get_keyword($segment->split_result($q));

 

注释掉这行代码就能取消分词功能。

网上搜集了些资料,用的是其他办法,我没尝试过,仅作为记录

第一个文件:phpcms\modules\search\index.php

 

代码如下:

//如果分词结果为空
if(!empty($segment_q)) {
$sql = "`siteid`= '$siteid' AND `typeid` = '$typeid' $sql_time AND `data` like '%$q%'";//2014.1.13 by: mosell 不使用分词功能了

//$sql = "`siteid`= '$siteid' AND `typeid` = '$typeid' $sql_time AND MATCH (`data`) AGAINST ('$segment_q' IN BOOLEAN MODE)";
} else {
$sql = "`siteid`= '$siteid' AND `typeid` = '$typeid' $sql_time AND `data` like '%$q%'";
}

还有以上修改大概是在第80行左右。

 

代码如下:

$datatest=array();//2014.1.13 by: mosell //用于显示搜索结果列表
$datatest=$data;//2014.1.13 by: mosell //用于显示搜索结果列

 

以上大概在$execute_time = execute_time();$pages = isset($pages) ? $pages : '';这两句的上面,大概在第190多行吧

第二个文件:phpcms\templates\模板文件夹\search\list.html

把{loop $data $i $r}  改成  {loop $datatest $i $r}

大概就是这样了,放这里免得忘记了。

点击复制链接 与好友分享!回本站首页
相关TAG标签 功能 方法
上一篇:PHPCMS实现文章置顶功能的方法
下一篇:phpcms v9屏蔽后台登陆验证码的方法
相关文章
图文推荐

关于我们 | 联系我们 | 广告服务 | 投资合作 | 版权申明 | 在线帮助 | 网站地图 | 作品发布 | Vip技术培训 | 举报中心

版权所有: 红黑联盟--致力于做实用的IT技术学习网站