PHPCMS如何取消搜索时的分词功能
来源:爱站网时间:2020-12-15编辑:网友分享
PHPCMS的搜索功能是搜索精度非常低的工具,因此很多用户们都不建议使用PHPCMS的搜索功能,那么你知道PHPCMS如何取消搜索时的分词功能吗?
PHPCMS的搜索功能是搜索精度非常低的工具,因此很多用户们都不建议使用PHPCMS的搜索功能,那么你知道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%'";
}
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 //用于显示搜索结果列
$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}
大概就是这样了,放这里免得忘记了。
上文就是小编介绍PHPCMS如何取消搜索时的分词功能的内容,其实方面的知识不难,只要我们平时多多地关注,多看一些相关的教程知识就很快可以学会了。