sphinx如何及时清理违禁信息

由于我的sphinx索引比较大,每次创建都需要一两个小时,现在网站有人发垃圾信息和违禁信息。我已经在mysql中将其删除了,但是要清理sphinx索引中的违禁信息,必须重建索引,这样处理起来很花费时间,而且会造成线上数据不可用的情况,有没有好的办法呢?

阅读 4.6k
3 个回答

信息中应该有一个状态标记字段吧。比如:1代表正常状态,-1代表违禁状态。只需要使用sphinx的UpdateAttributes去更新索引中的记录就可以了。在前端查询的时候使用SetFilter只过滤状态为1的记录即可。​

sphinx 支持SQL接口,可以用MYSQL类连接sphinx直接更新指定的那条数据

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题