GVKun编程网logo

DedeCms教程:优化DedeCMS搜索结果(dede网站优化)

16

如果您对DedeCms教程:优化DedeCMS搜索结果和dede网站优化感兴趣,那么这篇文章一定是您不可错过的。我们将详细讲解DedeCms教程:优化DedeCMS搜索结果的各种细节,并对dede网站

如果您对DedeCms教程:优化DedeCMS搜索结果dede网站优化感兴趣,那么这篇文章一定是您不可错过的。我们将详细讲解DedeCms教程:优化DedeCMS搜索结果的各种细节,并对dede网站优化进行深入的分析,此外还有关于dedecms tag标签伪静态的修改方法_dedecms_CMS教程、Dedecms搜索关键词和栏目名相同时搜索结果为空的问题、dedecms搜索结果只显示10条的解决方法、DEDECMS搜索结果按点击排序的修改方法的实用技巧。

本文目录一览:

DedeCms教程:优化DedeCMS搜索结果(dede网站优化)

DedeCms教程:优化DedeCMS搜索结果(dede网站优化)

 

由于DedeCMS搜索采用了分词,提升了搜索智能化,但是我们发现,搜索结果并没有变的更准确,本篇对DedeCMS的搜索进行一个优化,使它的搜索结果变的更智能、准确。

首先需要调整搜索页面的一个栏目Keywords替换,找到/plus/search.php将其中58行代码:

<pre> foreach($typeArr as $id=>$typename) { $keywordn = str_replace($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 Get关键字($keyword)这个类的办法,替换为:

function Get关键字($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; }

*后,我们清空下数据表dede_search_keywords,重新构建检索分词结果,我们可以通过下面页面查看下分词的结果:?q=cit%D0%C5%CF%A2%CD%F8&searchtype=title

我们还会继续对DedeCMS搜索结果进行优化。

本文章网址:http://www.ppssdd.com/code/14724.html。转载请保留出处,谢谢合作!

dedecms tag标签伪静态的修改方法_dedecms_CMS教程

dedecms tag标签伪静态的修改方法_dedecms_CMS教程

dedecms tag标签伪静态的修改方法,需要的朋友可以参考下。 

一、dede后台开启伪静态
二、修改 /include/taglib/tag.lib.php
找到 $row[''link''] = $cfg_cmsurl."/tags.php?/".urlencode($row[''keyword''])."/";
改成 $row[''link''] = $cfg_cmsurl."/tags/".urlencode($row[''keyword'']).".html";
三、打开templets/default/taglist.htm
找到
当前位置::主页 > TAG标签 > {dede:field.title /}
修改为
当前位置::主页 > TAG标签 > {dede:field.title /}
四、httpd.ini 文件里加
RewriteRule ^(.*)/tags\.html $1/tags\.php
RewriteRule ^(.*)/tags/(.*).html $1/tags\.php\?$2
搞定啦~
新版本可以用下面的方法:
一、dede后台开启伪静态
二、修改 /include/taglib/tag.lib.php,找到:
$row[''link''] = $cfg_cmsurl."/tags.php?/".urlencode($row[''keyword''])."/";改成
$row[''link''] = $cfg_cmsurl."/tags/".urlencode($row[''keyword'']).".html";三、打开templets/default/taglist.htm,找到:
当前位置::主页 > TAG标签 > {dede:field.title /}修改为
当前位置::主页 > TAG标签 > {dede:field.title /}四、httpd.ini 文件里加
RewriteRule ^(.*)/tags\.html $1/tags.php;RewriteRule ^(.*)/tags/(.*).html $1/tags.php?/$2;
然后进入dede后台更新缓存后,就搞定了。

Dedecms搜索关键词和栏目名相同时搜索结果为空的问题

Dedecms搜索关键词和栏目名相同时搜索结果为空的问题

如果搜索的词和某一个栏目名称相同,如果这个栏目下没有文章,即使别的栏目有这个标题的文章,也搜索不出结果

临时的解决办法:

打开plus/search.PHP

删掉或者注释掉:

//引入栏目缓存并看关键字是否有相关栏目内容
require_once($typenameCacheFile);
if(isset($typeArr) && is_array($typeArr))
{
foreach($typeArr as $id=>$typename)
{
$keywordn = str_replace($typename,'' '',$keyword);
if($keyword != $keywordn)
{
$keyword = $keywordn;
$typeid = $id;
break;
}
}
}

dedecms搜索结果只显示10条的解决方法

dedecms搜索结果只显示10条的解决方法

今天要修改Dedecms搜索结果的时候,发现当用户使用Dedecms默认的搜索,显示搜索结果只有10条,如果搜索的结果比较多,用户需要翻阅很多页才能找到自己所需要的信息!
 
为改善用户的体验我们将进行一些小小的修改就可以完成啦!

Dedecms虽然有搜索模板页,但并不能控制搜索结果显示的数量,通过输入关键字,我们发现搜索使用的PHP程序为:http://www.dede58.com/plus/search.PHP
 
我们直接进行修改search.PHP文件第5行的代码即可:
 
将:$pagesize = (isset($pagesize) && is_numeric($pagesize)) ? $pagesize : 10; 
修改为:$pagesize = (isset($pagesize) && is_numeric($pagesize)) ? $pagesize : 20; 
 
让我们再看看搜索结果是不是每页显示20条啦!成功!你可以根据自己的需要修改$pagesize : 20;的参数。

DEDECMS搜索结果按点击排序的修改方法

DEDECMS搜索结果按点击排序的修改方法

  Dedecms搜索结果按点击排序的修改方法

  修改这个地方:

  include/inc_arcSAErch_view.PHP的大概第48行

  从

  $this->OrderBy = ''dede_full_search.aid desc'';

  改为

  $this->OrderBy = ''dede_full_search.click desc'';

总结

以上是小编为你收集整理的DEDECMS搜索结果按点击排序的修改方法全部内容。

如果觉得小编网站内容还不错,欢迎将小编网站推荐给好友。

关于DedeCms教程:优化DedeCMS搜索结果dede网站优化的介绍已经告一段落,感谢您的耐心阅读,如果想了解更多关于dedecms tag标签伪静态的修改方法_dedecms_CMS教程、Dedecms搜索关键词和栏目名相同时搜索结果为空的问题、dedecms搜索结果只显示10条的解决方法、DEDECMS搜索结果按点击排序的修改方法的相关信息,请在本站寻找。

本文标签: