• 注册
  • 七日杀MOD 七日杀MOD 关注:1 内容:1036

    PHPCMS取消搜索时的分词功能的方法

  • 查看作者
  • 打赏作者
    • 七日杀MOD
    • Lv.6
      黄金会员
      官方团队

      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}
      大概就是这样了,放这里免得忘记了。

      请登录之后再进行评论

      登录
    • 做任务
    • 实时动态
    • 偏好设置
    • 帖子间隔 侧栏位置: