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

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索

[未解决]管理员后台修改TAG后原TAG无法搜索到的问题

[复制链接]
zhy627 发表于 2007-3-10 06:18:51 | 显示全部楼层 |阅读模式
使用SS/SX本地、远程均测试过的,测试时关闭了站点缓存、HTML的。

问题:管理员后台修改TAG后原TAG未能同时更新,且原TAG无法在站内被搜索到
按理说用户建立的一个全新的TAG被管理员修改了,该TAG标记也应该同时在用户的相关内容页被更新。
但实际上用户创建的原TAG并没有在建立的TAG的原始内容页面被更新,且原TAG也无法被搜索到。

比如:用户B发表文章”c1“时建立了全新的TAG“我爱北京天安门“,管理员A觉得这个TAG太长了,在后台修改为”天安门“。于是前台页面的TAG列表里就只显示”天安门“了,而B的"c1”文章的TAG仍然还是“我爱北京天安门“,网站调用B的“c1”文章的TAG也依旧为“我爱北京天安门“,但实际上“我爱北京天安门“这个TAG已经被管理员修改成“天安门“且站内查询TAG”我爱北京天安门“已经无法查找到内容了。

类似的同步问题还有站点备份/转移域名后,顶部连接的URL地址无法自动更新的问题。
如:网站原来的域名为http://demo.blogdaily.cn,其分类频道,如日志频道的URL为:http://demo.blogdaily.cn/?action_blog.html
将程序文件及数据备份到http://datebase.blogdaily.cn下(config文件已经正确修改到http://datebase.blogdaily.cn及新的数据库路径下),发现顶部的分类导航的频道URL却仍然为原来的http://demo.blogdaily.cn/?action_blog.html,但实际上备份/转移后的新的地址为http://datebase.blogdaily.cn/?action_blog.html
此问题的解决:登陆后台管理页面-基本设置-频道设置-重新设定首页显示频道,保存,OK!
这个问题的解决办法虽然很简单,但如果这个问题普遍存在的话,还是希望DZ能修正下。
 楼主| zhy627 发表于 2007-3-10 06:22:04 | 显示全部楼层
问题补充:
1、修改了用户的登陆ID名称后,该用户之前创建的TAG的创建者的ID名为旧的ID名称,而不是被修改后的新ID名```
2、弱用户的TAG为其自定义分类,该分类TAG被管理员修改之后,用户弱继续在该分类下发表内容,新的内容又会创建一个以该分类名为名称的TAG标记``弱反复如此,修改TAG的目的就没达到了!因为你修改的是TAG名称,而不是用户的自定义分类!

待解决:自定义分类不做为新的TAG被建立(这不可取!)或实现TAG修改后所有页面均以新的TAG名显示,包括自定义分类下以后发表所有的内容!

[ 本帖最后由 zhy627 于 2007-3-10 06:34 编辑 ]
回复

使用道具 举报

茄子 发表于 2007-3-12 11:26:33 | 显示全部楼层
1,关于tag问题,是这样的,您添加tag的时候,这些tag信息已经全部进入了数据库,每一篇文章里面都记录了其tag信息
修改tag这个操作是我们不提倡进行的操作。如果您觉得tag不好,可以将其合并。

因为如果要修改tag同时修改文章中的内容的话,将会对数据库进行大量的更新操作,需要对全部数据库进行检索,判断文章是否还有被修改的tag,同时更新。这个对于数据库来说是灾难性的。

关于您说的第二个问题,如果您修改了域名,需要修改config里面的siteurl,同时在频道设置中直接保存提交下。

同时,对于修改username这样的操作,基于和tag相同的原因,也是非法操作。
修改username对论坛和xs都会造成很多问题!
回复

使用道具 举报

 楼主| zhy627 发表于 2007-3-12 19:16:53 | 显示全部楼层
先谢谢茄子的解答```
```看来问题的关键是在于TAG对数据库的检索上``虽然说不大懂数据库原理``但还是假想一下```

如果说用户建立的所有TAG数据均存放在指定的一个单独的数据库表中``并且给这个TAG一个number id,读取的时候先读取这个数字ID[不管是用户的文章还是系统后台],然后再读取相应的ID的内容`设计程序修改/合并TAG修改这个ID对应的内容。如果这样行的通`则TAG同步的问题就能解决了`反过来检索数据库的话 也不会再出现修改前的TAG无法检索的问题了``因为同步了``除非做整站检索 8过这个功能 SS也做的不算很好``可能还是交给qihoo来做比较好``

说远了 ` 检索的问题就广了 ````

以上纯属设想``高手莫骂``因俺是完全不懂编程 不懂数据库设计````
回复

使用道具 举报

茄子 发表于 2007-3-13 09:30:41 | 显示全部楼层
关于这个问题如果有好的解决方法的话我们会考虑的:)
回复

使用道具 举报

sup 发表于 2007-3-13 10:04:22 | 显示全部楼层
阅读日志的时候的tag列表,是缓存到数据库里面的,所以,当管理员修改了tag后,日志的数据库里面是没有更新的。
只有当用户下次编辑日志的时候才自动更新成管理员设置的tag。
这样做,是以效率为第一的原则进行考虑的,在功能与效率都要的情况下,我们要尊重效率
回复

使用道具 举报

 楼主| zhy627 发表于 2007-3-14 22:17:08 | 显示全部楼层
这个问题大致情况基本了解了`但个人认为 效率和安全性稳定性固然是首当其冲 必须要重视的问题`` 但是对于这个功能来讲 既然开发了 就要它发挥出来`否则又何苦做出来 ? 对吧

所以说  个人认为`尽量找到一个更好的办法` 解决吧!

[ 本帖最后由 zhy627 于 2007-3-14 22:20 编辑 ]
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-11-16 09:38 , Processed in 0.032269 second(s), 3 queries , Gzip On, Redis On.

Powered by Discuz! X3.4

Copyright © 2001-2023, Tencent Cloud.

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