-
企業(yè)公司行業(yè)通用類網(wǎng)站...
-
攝影拍攝短視頻類網(wǎng)站織...
-
新媒體自媒體運(yùn)營(yíng)資訊類...
-
園林景觀設(shè)計(jì)類網(wǎng)站織夢(mèng)...
-
道路護(hù)欄交通設(shè)施類網(wǎng)站...
-
LED顯示屏中英雙外貿(mào)類網(wǎng)...
-
環(huán)保電動(dòng)掃地車類網(wǎng)站織...
-
辦公學(xué)習(xí)教程資訊類網(wǎng)站...
-
車輛機(jī)油工業(yè)潤(rùn)滑油類網(wǎng)...
-
水上樂園設(shè)備類網(wǎng)站織夢(mèng)...
-
環(huán)保設(shè)備研發(fā)制造類網(wǎng)站...
-
灶具電器設(shè)備類網(wǎng)站織夢(mèng)...
-
農(nóng)業(yè)機(jī)械設(shè)備類網(wǎng)站織夢(mèng)...
-
園林綠化景觀建設(shè)類網(wǎng)站...
-
汽車配件類網(wǎng)站織夢(mèng)模板...
-
中藥藥材百科資訊類網(wǎng)站...
-
潮流資訊信息類網(wǎng)站織夢(mèng)...
-
水性工業(yè)漆類企業(yè)網(wǎng)站織...
-
APP應(yīng)用程序官網(wǎng)類網(wǎng)站織...
-
網(wǎng)站建設(shè)營(yíng)銷類網(wǎng)站織夢(mèng)...
由于織夢(mèng)DedeCMS搜索采用了分詞,提升了搜索智能化,但是我們發(fā)現(xiàn),搜索結(jié)果并沒有變的更準(zhǔn)確,
本篇對(duì)織夢(mèng)源碼搜索進(jìn)行一個(gè)優(yōu)化,使它的搜索結(jié)果變的更智能、準(zhǔn)確。
首先打開/plus/search.php
找到
foreach($typeArr as $id=>$typename){$keywordn = str_replac($typename, ' ', $keyword);if($keyword != $keywordn){
改成
foreach($typeArr as $id=>$typename){//$keywordn = str_replace($typename, ' ', $keyword);$keywordn = $keyword;if($keyword != $keywordn){
然后再打開/include/arc.searchview.class.php
找到
function GetKeywords($keyword)
改成
function GetKeywords($keyword){global $cfg_soft_lang;$keyword = cn_substr($keyword, 50);$row = $this->dsql->GetOne("SELECT spwords FROM `dede_search_keywords` WHERE keyword='".addslashes($keyword)."'; ");if(!is_array($row)){if(strlen($keyword)>7){$sp = new SplitWord($cfg_soft_lang, $cfg_soft_lang);$sp->SetSource($keyword, $cfg_soft_lang, $cfg_soft_lang);$sp->SetResultType(2);$sp->StartAnalysis(TRUE);$keywords = $sp->GetFinallyResult();$idx_keywords = $sp->GetFinallyIndex();ksort($idx_keywords);$keywords = $keyword.' ';foreach ($idx_keywords as $key => $value) {if (strlen($key) <= 3) {continue;}$keywords .= ' '.$key;}$keywords = preg_replace("/[ ]{1,}/", " ", $keywords);//var_dump($idx_keywords);exit();unset($sp);}else{$keywords = $keyword;}$inquery = "INSERT INTO `dede_search_keywords`(`keyword`,`spwords`,`count`,`result`,`lasttime`)VALUES ('".addslashes($keyword)."', '".addslashes($keywords)."', '1', '0', '".time()."'); ";$this->dsql->ExecuteNoneQuery($inquery);}else{$this->dsql->ExecuteNoneQuery("UPDATE `dede_search_keywords` SET count=count+1,lasttime='".time()."' WHERE keyword='".addslashes($keyword)."'; ");$keywords = $row['spwords'];}return $keywords;}





