Sphinx搜索binlog格式不向后兼容?

Sphinx搜索binlog格式不向后兼容?,sphinx,Sphinx,向Sphinx团队提出的问题:为什么在新的2.0.5版本中,binlog格式与以前的2.0.4版本不兼容 如何迁移到新版本 看看我安装2.0.5后得到了什么: WARNING: index 'index_9127': preload: /var/db/sphinxsearch/idx/index_9127.meta is v.6, binary is v.5; NOT SERVING 它是兼容的 我调查了我们的源代码,发现没有版本更改 介于2.0.4和2.0.5之间(实际上必须如此) 但是,在

向Sphinx团队提出的问题:为什么在新的2.0.5版本中,binlog格式与以前的2.0.4版本不兼容

如何迁移到新版本

看看我安装2.0.5后得到了什么:

WARNING: index 'index_9127': preload: /var/db/sphinxsearch/idx/index_9127.meta is v.6, binary is v.5; NOT SERVING
它是兼容的

我调查了我们的源代码,发现没有版本更改 介于2.0.4和2.0.5之间(实际上必须如此)

但是,在我们的主干中,binlog的版本发生了更改(即 2.1-dev分支,而不是2.0.X!)在主干中,我们可以自由地升级版本 因为我们添加了新功能并开发了sphinx。自svn以来 牧师。编号对于两个分支来说都是一个问题,保持 使用从svn构建的sphinx时需要的分支。例如,svn 版本3308在rel20分支中,是2.0.5版本,但是svn版本 3189位于主干分支中,是当前的2.1.X-dev 这个数字(3308对3189)并不是说高一点的数字意味着 更“新鲜”的版本。顺便说一句,他们不能混淆,因为他们是 放置在svn repo中的不同分支(=文件夹)中

实际上,您似乎使用了“trunk”版本(2.1.X-dev),然后 升级到2.0.5(实际上是donwgrade,不是升级)。以及, 结果是什么?旧版的斯芬克斯无法加载新版本 索引的版本

所以,问题根本不在斯芬克斯身上

如果数据很重要,如果降级到2.0.5分支也很重要 重要的是,它可能有意义关闭斯芬克斯适当(这种方式) binlog将不包含任何数据,因为它的目的是保存数据, 然后清除所有binlog文件,包括“meta”。重新启动后, 斯芬克斯将用当前版本重新创建文件。 但是,它需要与备份一起执行,因为 版本更改也可能是索引格式的另一个更改(以及 如果是这样,旧版本将不会加载新索引)

顺便说一句,由于stable 2.0.X的全部内容 分支会定期合并到主干中,因此那里的所有bug都将被删除 也可以固定在后备箱中