问题描述
我们正在考虑将Sphinx升级到3.3.1版(当前为2.2.11版)。 现在,我们遇到了一些用于构面的MVA属性的问题。
我们的狮身人面像配置片段:
sql_attr_multi =现场申请人ID中的uint申请人ID
db中的applicantsids列是一个包含逗号分隔列表的字符串,某些记录是一个空字符串(不为null)。 这是我们在将申请人编号作为方面请求进行查询时收到的错误:
列“ applicantids”(别名“ applicantids”)的类型不兼容 跨分片
我们想知道这是否可能是由于在新的Sphinx版本中对空记录进行了不同的处理?
解决方法
听起来确实好像您在不同索引中定义了“ applicantids”属性。 (分片是索引一部分的另一个名称)
应在索引的所有部分中使用sql_attr_multi。即使它索引了一个空字符串,也应该将其索引为一个空列表。