> php教程 > php手册 > hash在Coreseek 中配置bigint

hash在Coreseek 中配置bigint

WBOY
풀어 주다: 2016-06-13 10:58:07
원래의
939명이 탐색했습니다.

[php]
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(); 

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']其实都是被截断了的有损数据了……
sql_attr_unit =  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引入。


 

관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 추천
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿