hash在Coreseek 中配置bigint
304 $sphinxapi->SetSelect('id, domain_hash'); 304 $sphinxapi->SetConnectTimeout(3); 305 $sphinxapi->SetGroupBy('domain_hash', SPH_GROUPBY_ATTR, '@count desc'); 304 foreach($result['matches'] AS $k=>$v) 321 { 322 $IDARRAY[$v['attrs']['domain_hash']] = $v['attrs']['@count']; 323 $total+= $v['attrs']['@count']; 324 } $sql = "SELECT site_name FROM ** WHERE domain_hash IN(".join(',', array_keys($IDARRAY)).") order by find_in_set(domain_hash,'".join(',', array_keys($IDARRAY))."') "; 331 $rawDataAll = Yii::app()->db->createCommand($sql)->queryAll();
一般 hash 都是 12024309506718423877,64位的,int 类型是不能满足要求了,
[$v['attrs']['domain_hash']其实都是被截断了的有损数据了……
[$v['attrs']['domain_hash']其实都是被截断了的有损数据了……
11.1.17. sql_attr_uint:整数属性
声明无符号整数属性(attribute)。可声明同一类型的多个不同名称的属性,可选项。 仅适用于SQL数据源(mysql
, pgsql
, mssql
)。
被声明的列的值必须在32位无符号整型可表示的范围内。超出此范围的值也会被接受,但会溢出。例如-1会变成 2^32-1 或者说4,294,967,295。
您可以在属性名后面附加“:BITCOUNT”(见下面的示例)以便指定整型属性的位数。属性小于默认32位(此时称为位域)会有损性能。但它们在外部存储(extern storage)模式下可以节约内存:这些位域被组合成32位的块存储在.spa
属性数据文件中。如果使用内联存储(inline storage),则位宽度的设置会被忽略。
需要在 conf 配置中 让hash 字段为 bigint类型
sql_attr_bigint = domain_hash
11.1.19. sql_attr_bigint:长整型属性
64位整数属性(attribute)声明。多个值(可以同时声明多个属性),可选选项。 仅适用于SQL数据源(mysql
, pgsql
, mssql
)。 注意,与sql_attr_uint不同,这些值是有符号的。于版本0.9.9-rc1引入。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 【杭电多校比赛记录】2025“钉耙编程”中国大学生算法设计春季联赛(1)