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

   2015-08-02 0
核心提示:最近弄一个站,但是搜索功能有点蛋疼了。分词功能出来的结果,好像不如不用。所以做以下修改,暂时先不用分词功能吧。

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

 
标签: Phpcms 分词功能
反对 0举报 0 评论 0
 

免责声明:本文仅代表作者个人观点,与乐学笔记(本网)无关。其原创性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容、文字的真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
    本网站有部分内容均转载自其它媒体,转载目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责,若因作品内容、知识产权、版权和其他问题,请及时提供相关证明等材料并与我们留言联系,本网站将在规定时间内给予删除等相关处理.

点击排行