找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 78|回复: 0

[cms教程] PHPCMS取消搜索时的分词功能的方法

[复制链接]

该用户从未签到

发表于 2019-3-24 16:17:00 | 显示全部楼层 |阅读模式

您需要 登录 才可以下载或查看,没有账号?立即注册

×
PHPCMS取消搜索时的分词功能的方法
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}
大概就是这样了,放这里免得忘记了。
回复

使用道具 举报

网站地图|页面地图|文字地图|Archiver|手机版|小黑屋|找资源 |网站地图

GMT+8, 2024-10-5 15:23

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表