PHPCMS关闭搜索关键字分词功能

时间:2016-05-19136举报小编:admin

    PHPCMS的搜索功能相比其他CMS算是比较差的了,搜索精度非常低。虽说他有个搜索关键字分词功能,但有点时候不分词的准确度却会高于分词。

    如何去掉PHPCMS关闭搜索关键字分词功能?

    用记事本打开 phpcmsmodulessearchindex.php 大概在78行能够找到下面的代码

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

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

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

    第一个文件:phpcmsmodulessearchindex.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多行吧

    第二个文件:phpcmstemplates模板文件夹searchlist.html
    把{loop $data $i $r}  改成  {loop $datatest $i $r}

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