dede搜索一些使用心得

网站建设 强烈建议 2024-02-06 14:26 106 0

  1站内搜索增加个仅搜索当前频道功能

  其实自己有搜索框加一个栏目选择的项就行了,系统不必要自动去生成

  高级搜索里可选的条件,你全都可以用

  Quote:

  

  如果不想用户选择,你直接加

  

  这样也行

  2

  ***新5.1随便搜索一串数字出错

  提示信息如下:

  You have an error in your SQL syntax; check the manual that corresponds to your MySQL server

  version for the right syntax to use near ') limit 500' at line 1 - Execute Query False!

  Select aid from dede_full_search where arcrank > -1 and () limit 500

  因搜索未过滤html标签,导致用户可以在搜索出注入html代码,该补丁修改该问题和utf-8版tag标签找不

  到以及部分用户尾部丢0的问题

  覆盖补丁后请在后台 内容维护 搜索关键词管理 处删除不正常的关键词。

  解决方法:官方已经出补丁了

  下载补丁包下载地址(GBK/UTF8请按版本选择里面的文件)

  

  非5.1版请修改 plus/search.php文件

  把Copy code$keyword=ereg_replace("[\|\"\r\n\t%\*\?\(\)\$;,'%-]"," ",trim($keyword));

  替换为Copy code$keyword=ereg_replace("[\|\"\r\n\t%\*\?\(\)\$;,'%<>]"," ",trim($keyword));

  3

  文章关键字自动对应搜索的办法

  {dede:field name='keywords' runphp='yes' }

  if(!empty(@me)){

  $kws=explode(' ',@me);

  @me="";

  foreach($kws as $k){

  @me .="$k ";

  }

  @me=str_replace('+', ' ',trim(@me));

  }

  {/dede:field}

  列表页中的关键字自动连接对应办法,//

  关键字: [field:keywords runphp='yes']

  if(!empty(@me)){

  $kws=explode(' ',@me);

  @me="";

  foreach($kws as $k){

  @me .="$k ";

  }

  @me=str_replace('+', ' ',trim(@me));

  }

  [/field:keywords]

  4

  在文章列表页和搜索结果页调用来源

  1 ,改 include 目录下的 inc_arclist_view.php

  查找

  $query="Select arc.ID,arc.title,arc.iscommend,arc.color,

  arc.typeid,arc.ismake,arc.money,arc.description,arc.shorttitle,

  arc.memberid,arc.writer,arc.postnum,arc.lastpost,

  arc.pubdate,arc.senddate,arc.arcrank,arc.click,arc.litpic,

  tp.typedir,tp.typename,tp.isdefault,tp.defaultname,

  tp.namerule,tp.namerule2,tp.ispart,tp.moresite,tp.siteurl

  $addField

  在 arc.writer, 后面加上 arc.source,

  (感谢cms2009分享)

  2,改inc_arcsearch_view.php

  查找:arctype.siteurl

  添加,archives.source

  5

  调用当天搜索关键字,并过滤色情关键字0

  Copy code

  {dede:loop table='dede_search_keywords' sort='lasttime' row='40' if='TO_DAYS(NOW())=TO_DAYS

  (FROM_UNIXTIME(lasttime)) and keyword regexp "性|黄色|成人|色"=0'}

  [field:keyword/]

  {/dede:loop}

  过滤的关键字可以自已加

  这个应该明白是什么吧

  sort='lasttime'

  sort='count'

  TO_DAYS 改成其它MYSQL时间函数还可调用一周内的关键字等,请自行修改!

  【教程】实时更新的【热门关键字】!

  6

  大大提高搜索准确度的方法

  原来的模板的 请将

  

  

  改成

  

  

  即0改成1

  采用“仅搜索标题”的搜索方式,

   可将这个设为默认,或者干脆删除下面的智能模

  糊,那个太不准。

  

  -----------------------------------

  高级搜索中,可以将模板中的“与”改成默认

  

  与

  

  或

  “与”应该就是value="1"的意思,下面的同样采用“仅搜索标题”的方式

  总的说来就是“与”(value="1")+“仅搜索标题”=准确

  7

  如何设置让搜索条可以搜一个汉字

  需要修改2个地方

  /plus/search.php

  if($keyword==""||strlen($keyword)<1){

  ShowMsg("关键字不能小于1个字节!","-1");

  exit();

  }

  /include/inc_arcsearch_view.php

  codeif(strlen($k)<2) continue;



时间:(2024-02-06 14:26:51)
本站资源均来自互联网或会员发布,如果不小心侵犯了您的权益请与我们联系。我们将立即删除!谢谢!