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