sphinx字段块运算符错误

sphinx字段块运算符错误,sphinx,Sphinx,我正在一个非常大的MySql表上创建一个非常复杂的Sphinx.cnf文件,为了有效地测试它,我在一个较小的表上使用了一个测试配置。一旦我获得了我期望/想要的行为,我就会将新的配置内容复制到工作配置中。然而,上次我这样做并旋转现场查询时,给了我查询:“查询错误:字段块运算符中的字符“|”无效”,即使旋转成功。我知道这是一个模糊的问题,但有什么建议,以寻找?我的配置非常大和复杂,一行接一行是不实用的。我只知道: 当我恢复到旧的工作配置时,站点查询工作 当我使用TestSphinx配置在测试站点上

我正在一个非常大的
MySql
表上创建一个非常复杂的
Sphinx.cnf
文件,为了有效地测试它,我在一个较小的表上使用了一个测试配置。一旦我获得了我期望/想要的行为,我就会将新的配置内容复制到工作配置中。然而,上次我这样做并旋转现场查询时,给了我
查询:“查询错误:字段块运算符中的字符“|”无效”
,即使旋转成功。我知道这是一个模糊的问题,但有什么建议,以寻找?我的配置非常大和复杂,一行接一行是不实用的。我只知道:

  • 当我恢复到旧的工作配置时,站点查询工作
  • 当我使用TestSphinx配置在测试站点上运行查询时,它会工作
  • 当我用工作测试配置替换工作配置时,我(突然)得到了那个错误

您可以这样查询:

@(column1|column2|column3) some search keyword
只需将|替换为,:

@(column1,column2,column3) some search keyword
相当于:

@(column1,column2,column3) some | search | keyword

我想要想有诊断的希望,需要更多的细节。唯一的另一个建议是将两个配置保存在一个单独的文件中,并将它们与一个“diff”程序进行比较,可能做了一些您没有注意到的小更改。@barryhunter这是我的下一步,但也存在很大的差异。我认为错误本身可能指出了查询本身与配置之间的一些问题,因为索引“成功”旋转,但在查询运行时抛出错误。@barryhunter这两个索引距离足够远,差异不会告诉我太多。不过,更大的问题/线索是,当我在上面复制测试索引时,它在同一个查询上失败,而在以相同的方式查询测试索引时,它没有失败。我想也许这是一个线索,可以缩小寻找的范围。不,没有真正指向任何东西。想象一下,试图从一封模糊的电子邮件中诊断一辆汽车的问题,真的需要看看实际的汽车,有希望诊断它。@barryhunter谢谢Barry,我将继续努力,然后,他们是大量的索引规则集,除了我,没有人会真正愿意改变他们的想法。如果我找到一个很好的解释,说明为什么同一个索引在一个实例中失败,而在另一个实例中失败,我将在这里更新。