我试图使用CRC32
在狮身人面像查询中随机化结果,该查询已经有几个嵌套订单。
Select CRC32(Field) as Random from Index Order by Premium,Weight(),Random
然而,我所拥有的唯一唯一字段是reference
。它是一个整数,通过CRC32随机化为0
。
我在我的Sphinx Select...
参考as Randomizer...
中选择了它
然后将其指定为字符串,以便在select中使用它:
sql_field_string = Randomizer
因此,它将被“转换”为文本。
然而,当我跑步时:
按溢价、权重()、随机数从索引顺序中选择CRC32(随机化)
由于弹出的"3997755376“不是一个有效的整数值,所以我在navicat中得到了警报。我不确定这是CRC32限制还是Navicat。
发布于 2018-03-08 18:47:35
听起来像是肚脐问题。CRC32在狮身人面像中产生一个没有符号的32位介面器。
斯芬克斯公司内部使用它作为BIGINT
修正了#1643,CRC32()现在在BIGINT上下文中被正确地计算为无符号
从2.2.10-至少发布,这可能是混乱的导航。
如果您将它存储在属性中,无论如何,可以在索引时(使用mysql处理它!)完成它,这比执行查询时间更有效。
sql_query = Select id,CRC32(reference) as Randomizer...
sql_uint_string = Randomizer
https://stackoverflow.com/questions/49179958
复制相似问题