15621857753

PHPCMS V9如何取消搜索时的分词功能

来源:齐鲁建站 栏目:建站教程 阅读: 日期:2021-01-21

本文主要介绍了PHPCMS V9如何取消搜索时的分词功能,两种方法,第一个方法很简单,注销过一行代码就可以了,推荐使用这个方法,另一个是比较复杂了,要改的地方比较多,不建议使用,当然想要挑战自己的朋友可以一试。

响应式网站建设

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();//by: qilucms.com//用于显示搜索结果列表
$datatest=$data;//by: qilucms.com//用于显示搜索结果列

以上大概在$execute_time = execute_time();$pages = isset($pages) ? $pages : '';这两句的上面,大概在第190多行吧

第二个文件:phpcms\templates\模板文件夹\search\list.html

把{loop $data $i $r}  改成  {loop $datatest $i $r}

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

以上就是关于PHPCMS取消搜索分词的所有内容,希望可以帮到大家,欢迎扫码加微信一起交流~

公众号二维码

展开