网站后台用的Phpcms V9 结果搜索出现问题,自己找了资料整理如下:
第一步:
phpcms v9搜索结果不全及搜索不到内容解决方案:
打开phpcms\modules\search\index.php
找到
if(!empty($segment_q)) {
$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%'”;
} else {
$sql = “`siteid`= ‘$siteid’ AND `typeid` = ‘$typeid’ $sql_time AND `data` like ‘%$q%'”;
}
结果就是不再使用分词进行关键字搜索,而是直接使用你输入的关键字查找。
第二步:
搜索结果按照时间降序排列
修改的页面: \phpcms\modules\search\index.php只修改一行!搜索:
$data = $this->content_db->select($where, ‘*’);
复制代码
替换为:
$data = $this->content_db->select($where, ‘*’,”,’id desc’);
这样搜索内容就可以按照时间降序排列了。