程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> PHP編程 >> 關於PHP編程 >> hash在Coreseek 中配置bigint

hash在Coreseek 中配置bigint

編輯:關於PHP編程

[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引入。


 

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved