search

Home  >  Q&A  >  body text

php - sphinx如何及时清理违禁信息

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

大家讲道理大家讲道理2901 days ago567

reply all(3)I'll reply

  • 伊谢尔伦

    伊谢尔伦2017-04-10 14:27:00

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

    reply
    0
  • ringa_lee

    ringa_lee2017-04-10 14:27:00

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

    reply
    0
  • ringa_lee

    ringa_lee2017-04-10 14:27:00

    我觉得 还是做好标记 不然 没法做

    reply
    0
  • Cancelreply