原帖如上,自动锁帖无法回复。单开帖子说明。
开始没仔细看帖子,以为是数据调用问题。才搞清楚是与 search.php 搜索相关。研究了下原来是这儿
解决办法实在是简单:
1、修改 /search.php, 在277行下面代码
- $threads = $tids = 0;
- $maxsearchresults = $maxsearchresults ? intval($maxsearchresults) : 500;
- $query = $sdb->query("SELECT ".($srchtype == 'fulltext' ? 'DISTINCT' : '')." t.tid, t.closed, t.author $sqlsrch ORDER BY tid DESC LIMIT $maxsearchresults");
复制代码
之前添加
- if (!empty($threadonly)) {
- $sqlsrch .= ' AND t.replies = 0';
- }
复制代码
.
.
2、修改模板 /templates/default/search.htm , 如下代码
复制代码
根据需要添加“&noreply=1”改成如下即可
复制代码
就十分钟的事,康盛到现在都没实现……
PS,创建一个 (replies, fid)的联合索引也许可以提升搜索速度. 说也许,是因为无法确定弱智的mysql是否会选择这条索引做优化。
如果是pgsql,创建如下一条部分索引,只针对无跟帖的主题,即减小了索引尺寸也极大提高索引性能
- CREATE INDEX "threads.replies-fid_p" ON cdb_threads (replies, fid) TABLESPACE space1 WHERE replies = 0; -- 未有跟帖的
复制代码 |