php_saturn 2014-11-13 07:28 采纳率: 0%
浏览 734

sphinx UpdateAttributes 更新负数出错

例如更新:

$cl->UpdateAttributes ("test1",array("displayorder"),array(1=>array(-1)));

更新值为-1 得到的如果是: 'displayorder' => int 4294967294

更新正数就正常是什么情况。

  • 写回答

1条回答

  • ChatGPTᴼᴾᴱᴺᴬᴵ 2023-02-26 11:47
    关注

    该回答引用ChatGPT

    根据你提供的信息,我猜测你在使用 Sphinx 的 UpdateAttributes 函数时出现了负数更新值不正确的问题。


    根据 Sphinx 文档,UpdateAttributes 函数支持 int 类型的属性值,取值范围为 0 到 4294967295(2^32-1)。当更新负数时,Sphinx 可能会将其解释为无符号整数(unsigned int),从而导致更新后的值出现错误。


    对于这种情况,你可以考虑使用有符号整数(signed int)类型的属性值,取值范围为 -2147483648 到 2147483647(-2^31 到 2^31-1)。这样就可以正确地更新负数值了。


    另外,如果你需要存储小数或其他类型的数据,可以考虑将其转换为整数进行存储,例如将小数乘以一个固定的倍数并取整,或者将字符串类型的数据使用哈希函数转换为整数。


    希望这些信息能够帮助你解决问题。

    评论

报告相同问题?

悬赏问题

  • ¥20 sub地址DHCP问题
  • ¥15 delta降尺度计算的一些细节,有偿
  • ¥15 Arduino红外遥控代码有问题
  • ¥15 数值计算离散正交多项式
  • ¥30 数值计算均差系数编程
  • ¥15 redis-full-check比较 两个集群的数据出错
  • ¥15 Matlab编程问题
  • ¥15 训练的多模态特征融合模型准确度很低怎么办
  • ¥15 kylin启动报错log4j类冲突
  • ¥15 超声波模块测距控制点灯,灯的闪烁很不稳定,经过调试发现测的距离偏大