Discuz!官方免费开源建站系统

 找回密码
 立即注册
搜索

搜索中查看最新主题帖子的简单解决办法

[复制链接]
mark35 发表于 2012-6-18 22:34:13 | 显示全部楼层 |阅读模式
本帖最后由 mark35 于 2012-12-3 21:38 编辑

[站长杂谈]    为什么DZ官方弄出来的“查看新帖”从来都显示不了新帖?看看什么是真正的新帖!
原帖如上,自动锁帖无法回复。单开帖子说明。

开始没仔细看帖子,以为是数据调用问题。才搞清楚是与 search.php 搜索相关。研究了下原来是这儿
Snap2.png

解决办法实在是简单:
1、修改 /search.php, 在277行下面代码
  1.             $threads = $tids = 0;
  2.             $maxsearchresults = $maxsearchresults ? intval($maxsearchresults) : 500;
  3.             $query = $sdb->query("SELECT ".($srchtype == 'fulltext' ? 'DISTINCT' : '')." t.tid, t.closed, t.author $sqlsrch ORDER BY tid DESC LIMIT $maxsearchresults");
复制代码
之前添加

  1.             if (!empty($threadonly)) {
  2.                 $sqlsrch .= ' AND t.replies = 0';
  3.             }
复制代码
.
.

2、修改模板 /templates/default/search.htm , 如下代码

  1.                 <tr>
  2.                     <td><a href="search.php?srchfrom=3600&searchsubmit=yes">{lang search_quick_hour_1}</a></td>
  3.                     <td><a href="search.php?srchfrom=14400&searchsubmit=yes">{lang search_quick_hour_4}</a></td>
  4.                     <td><a href="search.php?srchfrom=28800&searchsubmit=yes">{lang search_quick_hour_8}</a></td>
  5.                     <td><a href="search.php?srchfrom=86400&searchsubmit=yes">{lang search_quick_hour_24}</a></td>
  6.                 </tr>

复制代码
根据需要添加“&noreply=1”改成如下即可

  1.                 <tr>
  2.                     <td><a href="search.php?srchfrom=3600&searchsubmit=yes&noreply=1">{lang search_quick_hour_1}</a></td>
  3.                     <td><a href="search.php?srchfrom=14400&searchsubmit=yes&noreply=1">{lang search_quick_hour_4}</a></td>
  4.                     <td><a href="search.php?srchfrom=28800&searchsubmit=yes&noreply=1">{lang search_quick_hour_8}</a></td>
  5.                     <td><a href="search.php?srchfrom=86400&searchsubmit=yes&noreply=1">{lang search_quick_hour_24}</a></td>
  6.                 </tr>

复制代码
就十分钟的事,康盛到现在都没实现……

PS,创建一个 (replies, fid)的联合索引也许可以提升搜索速度. 说也许,是因为无法确定弱智的mysql是否会选择这条索引做优化。
如果是pgsql,创建如下一条部分索引,只针对无跟帖的主题,即减小了索引尺寸也极大提高索引性能

  1. CREATE INDEX "threads.replies-fid_p" ON cdb_threads (replies, fid) TABLESPACE space1 WHERE replies = 0;    -- 未有跟帖的
复制代码

评分

1

查看全部评分

回复

使用道具 举报

枯心树 发表于 2012-6-18 23:21:53 | 显示全部楼层
本帖最后由 枯心树 于 2012-6-18 23:28 编辑

你让别人情何以堪啊。

有时候,提的建议太好(比如包括解决方案提供(或者说教别人怎么解决)反而会伤了别人的自尊心。可以提问题或者具体大致方向或功能需求建议。但是如果连具体的解决方案都说出来了。那别人有可能会感觉很不爽。。。

如果按照你的做,又给人感觉好像没有主见,缺乏思考创意。如果不按你说的做,问题又好像依然存在。最后只能是另谋他路,被迫想出一些其他解决方案。
{:soso_e120:}也许是我想太多了。好吧。是我真的想太多了。

楼主你有技术,人很热心,对dx也很关心,希望你去应聘官方招聘{:soso_e100:}
康盛2012夏季火热招聘季『未来之梦,在此绽放』
https://discuz.dismall.com/thread-2395646-1-1.html

[回帖后发现忘记转播了,为此特别删了回帖再回。这样的动作在本帖用了2次(忘记了勾选)]
回复

使用道具 举报

64243354 发表于 2012-6-18 23:36:58 | 显示全部楼层
枯心树 发表于 2012-6-18 23:21
你让别人情何以堪啊。

有时候,提的建议太好(比如包括解决方案提供(或者说教别人怎么解决)反而会伤了 ...

哈哈...这真是好文..我看开发组又要烦惱了{:soso__3943448463613330755_3:}
回复

使用道具 举报

yuantao19861215 发表于 2012-6-20 12:51:18 | 显示全部楼层
建议是挺好的,不过........
回复

使用道具 举报

5gss.cn 发表于 2012-6-20 19:18:06 | 显示全部楼层
好文怎么到这里了  mark一下
回复

使用道具 举报

 楼主| mark35 发表于 2012-6-22 19:31:12 | 显示全部楼层
本帖最后由 mark35 于 2012-6-22 20:14 编辑
枯心树 发表于 2012-6-18 23:21

情何以堪?
跑步跑不过刘翔我不丢脸,如果刘翔编程比我厉害,这才是真正的情何以堪。

编程不像模板界面那样见仁见智各有所爱,编程代码的优劣在一定环境下做测试结果是确定的,可比较的。
如果有人骂dz美工做的UI难看,美工说对方没艺术细胞,我觉得双方也许都有理。而如果我说这一段代码写得真臭,开发人员不是去证明那段代码是真的有问题还是特定优化,而是来说我这样让他丢脸不好以后得注意人情世故、同事关系、部门利益哟,这我觉得真是问题了。

俗话说性格决定命运,我觉得嘛……态度决定成就。
一个人,在自己的专业、工作上被指出错误、缺点后不进行反思修正,而是找出各种非技术理由来解释,也许理由很充足也很符合国情,也能让对方接受。但自己,问题的所在并未解决,也将无法从中获得经验得以进步。
一个搞技术的人,如果在技术上没有令他仰慕,让他羞愧的东西存在,那么这个人要么是顶尖高手,要么永远也成不了高手,更无论顶尖。

搞技术的不比技术,那比啥?
好比搞理论物理的说“爱因斯坦有啥牛逼,他的小提琴拉得没我好”;
好比踢足球的说“贝利有啥了不起,他挣钱没我多”

中国的人情世故源远流长,当渗透到技术领域,结果就是你好我好大家好,就是人浮于事技术不好。中国整个技术界有啥顶尖的? 除了核武、航天领域这种国之重器搞不好就丢脑袋的行业,看看其他领域又有多少值得骄傲的成就呢。航空发动机这么久搞不出来核心机,八爷飞了那么多年造就了院士还要改,就是不思进取。要不是611的那帮“搅屎棒”拚出来的J10,J20,只怕八爷还当主力,另外一个主力就是回扣多多的Su27。
以汽车行业说,当年(约十年前吧)一汽某领导说,要耐住寂寞二十年,规模要不到六百万辆你是没法开发的。结果呢,奇瑞、吉利搞出了中国自主品牌。而一汽二汽这共和国长子次子在自主乘用车的所作所为让人羞愧。尤其是那长长的东风本田,东风雪铁龙,东风雷诺,东风日产,东风标致,东风悦达起亚,东风裕隆,活脱一个买办相。对于一个没有追求人,早九晚五是一种生活,对于有追求的人那只是一种生活。

生活还可以这样 【汽车传奇——奇瑞的故事】 http://www.mychery.net/forum/bin/ut/topic_show.cgi?id=1123082

这也许就是在中国技术人员过了三十就得考虑转管理而国外技术人员可以一直做到四五十更加犀利的缘故。

说回技术。
虽然我在那个dz坑爹集锦中时不时调侃下dz开发人员,不过实话说那只是dz的一小部分,排除了非技术原因,真正的bug也不太多不太大。反而我从研究dz7.2中充实了自己的编程经验,学到不少知识。所以我所有的帖子也只是调侃而非骂。dz的问题不是简单的程序员能力高低问题,而是构架的复杂度是否需要、长久历史数据完整性等等问题,这不是一个两个顶尖开发人员能解决的。如果康盛自己都不清楚dz到底要给谁用,这发展方向就混乱了。

多谢你关于人情世故的建议,不过我更希望有技术上的指教。如果有人能在技术上把我骂得狗血淋头体无完肤,那真是我的荣幸~
至于你推荐的康盛火热招聘,我仔细看了后发现没适合我的职位~要么学历不够,要么岗位不适合。再说我对mysql也有点感冒,能避则避~

评分

1

查看全部评分

回复

使用道具 举报

 楼主| mark35 发表于 2012-6-22 20:14:08 | 显示全部楼层
我只能说这dzx编辑器有够烂,官方反应太慢 https://discuz.dismall.com/forum. ... ead&tid=2946659
刚才就修改了下楼上的帖子结果又丢失大半内容,还好是先在本地写的有备份。不然……
回复

使用道具 举报

magentoon 发表于 2012-6-22 20:15:53 | 显示全部楼层
呵呵,我只对代码拿来主义感兴趣,测试结果看看
回复

使用道具 举报

magentoon 发表于 2012-6-22 20:49:28 | 显示全部楼层
本帖最后由 magentoon 于 2012-6-22 20:53 编辑

搜索结果,好一点,还是有错误。首页的“查看新帖”如果搜索1周内的新帖,可以用这个链接search.php?srchfrom=604800&orderby=dateline&ascdesc=desc&searchsubmit=yes&threadonly=1,结果是:按一周内新发布的主题降序排列,但是,这个主题只能是回复数为0的。如果有回帖的,也不在此列。而我们需要的是:一周内发布的所有主题按降序排列。

还有一个问题:所有版块的帖子全出来了,包括新手报到、金币换VIP值、回收版块的违规帖等主题都有。不知道如何过滤某些版块?
回复

使用道具 举报

 楼主| mark35 发表于 2012-6-22 20:54:54 | 显示全部楼层
本帖最后由 mark35 于 2012-6-22 21:00 编辑
magentoon 发表于 2012-6-22 20:49
搜索结果,好一点,还是有错误。首页的“查看新帖”如果搜索1周内的新帖,可以用这个链接search.php?srchfr ...

指定版块啦

唔,这种高级搜索不受修改的影响~ 我上面的修改只是针对那几个快速链接
Snap1.png
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|Discuz! 官方站 ( 皖ICP备16010102号 )star

GMT+8, 2025-9-11 04:11 , Processed in 0.128877 second(s), 19 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2023, Tencent Cloud.

快速回复 返回顶部 返回列表