sphinx如何及时清理违禁信息
程序员文章站
2022-04-12 21:06:38
...
由于我的sphinx索引比较大,每次创建都需要一两个小时,现在网站有人发垃圾信息和违禁信息。我已经在mysql中将其删除了,但是要清理sphinx索引中的违禁信息,必须重建索引,这样处理起来很花费时间,而且会造成线上数据不可用的情况,有没有好的办法呢?
回复内容:
由于我的sphinx索引比较大,每次创建都需要一两个小时,现在网站有人发垃圾信息和违禁信息。我已经在mysql中将其删除了,但是要清理sphinx索引中的违禁信息,必须重建索引,这样处理起来很花费时间,而且会造成线上数据不可用的情况,有没有好的办法呢?
信息中应该有一个状态标记字段吧。比如:1代表正常状态,-1代表违禁状态。只需要使用sphinx的UpdateAttributes去更新索引中的记录就可以了。在前端查询的时候使用SetFilter只过滤状态为1的记录即可。