PHPCMS的搜索功能相比其他CMS算是比較差的了,搜索精度非常低,雖說他有個搜索關鍵字分詞功能,但有的時候不分詞的準確度卻會高于分詞,如何去掉PHPCMS關閉搜索關鍵字分詞功能?
用記事本打開 /phpcms/modules/search/index.php 大概在78行能夠找到下面的代碼:
$segment_q = $segment->get_keyword($segment->split_result($q));
注釋掉這行代碼就能取消分詞功能,網上搜集了些資料,用的是其他辦法,我沒嘗試過,僅作為記錄.
第一個文件:phpcms/modules/search/index.php,代碼如下:
- //如果分詞結果為空
- if(!emptyempty($segment_q)) {
- $sql = "`siteid`= '$siteid' AND `typeid` = '$typeid' $sql_time AND `data` like '%$q%'";//2014.1.13 by: mosell 不使用分詞功能了
- //Vevb.com
- //$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}
大概就是這樣了,放這里免得忘記了.
新聞熱點
疑難解答