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 //用于显示@R_419_6142@列表
$datatest=$data;//2014.1.13 by: mosell //用于显示@R_419_6142@列
以上大概在$execute_time = execute_time();$pages = isset($pages) ? $pages : '';这两句的上面,大概在第190多行吧
第二个文件:PHPCMS\templates\模板文件夹\search\List.HTML
把{loop $data $i $r} 改成 {loop $datatest $i $r}
大概就是这样了,放这里免得忘记了。
以上是内存溢出为你收集整理的PHPCMS取消搜索时的分词功能的方法全部内容,希望文章能够帮你解决PHPCMS取消搜索时的分词功能的方法所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)