PHP-发现sphinx的一个索引更新的用法,不知是否可行
平时我们用sphinx做搜索的时候为了索引更快更新都会用到增量索引,但又因为主索引和增量索引更新不同步,而造成一条数据删除/通过两种状态都分别索引到,使搜索的时候两种状态都可以匹配。
而我发现了UpdateAttributes()和attr_flush_period这个属性,可以实现对索引文件更新,那么我只要用UpdateAttributes()更新指定的那条索引的属性,然后通过attr_flush_period设置每30分钟将更新写入索引文件,在写入过程会导致暂时不能搜索,但更新频率通常很低,数据量很少,基本一瞬而过,就不知这种方法是否可行,还请各位高人点评
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
更新属性一直都是用UpdateAttributes,至少在我们项目的使用没有出现问题。
我们使用的策略是把内容分成3个索引,主索引(不可修改,归档数据),次索引(可修改), 增量引(最少),定期将次索引合并到主索引,增量索引合并到次索引,其实很多情况下UpdateAttributes是更新到次索引,而次索引本身也不是很大,索引更新会非常快。