PHPCMS的搜索功能相比其他CMS算是比較差的了,搜索精度非常低。雖說(shuō)他有個(gè)搜索關(guān)鍵字分詞功能,但有的時(shí)候不分詞的準(zhǔn)確度卻會(huì)高于分詞。如何去掉PHPCMS關(guān)閉搜索關(guān)鍵字分詞功能?
用記事本打開 \phpcms\modules\search\index.php 大概在78行能夠找到下面的代碼:
復(fù)制代碼
代碼如下:$segment_q = $segment->get_keyword($segment->split_result($q));
注釋掉這行代碼就能取消分詞功能。
網(wǎng)上搜集了些資料,用的是其他辦法,我沒(méi)嘗試過(guò),僅作為記錄
第一個(gè)文件:phpcms\modules\search\index.php
復(fù)制代碼
代碼如下://如果分詞結(jié)果為空
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%'";
}
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行左右。
復(fù)制代碼
代碼如下:$datatest=array();//2014.1.13 by: mosell //用于顯示搜索結(jié)果列表
$datatest=$data;//2014.1.13 by: mosell //用于顯示搜索結(jié)果列
$datatest=$data;//2014.1.13 by: mosell //用于顯示搜索結(jié)果列
以上大概在$execute_time = execute_time();$pages = isset($pages) ? $pages : '';這兩句的上面,大概在第190多行吧
第二個(gè)文件:phpcms\templates\模板文件夾\search\list.html
把{loop $data $i $r} 改成 {loop $datatest $i $r}
大概就是這樣了,放這里免得忘記了。
【網(wǎng)站聲明】本站除付費(fèi)源碼經(jīng)過(guò)測(cè)試外,其他素材未做測(cè)試,不保證完整性,網(wǎng)站上部分源碼僅限學(xué)習(xí)交流,請(qǐng)勿用于商業(yè)用途。如損害你的權(quán)益請(qǐng)聯(lián)系客服QQ:2655101040 給予處理,謝謝支持。