2009-10-23 90 views
0

在我的獅身人面像源的配置我有一個屬性,像這樣:查找文檔

sql_attr_multi = uint categories from query; SELECT entry_id, cat_id FROM categories_entries 

當查詢獅身人面像索引,是有可能得到唯一沒有這樣的記錄一個類別屬性?作爲一個缺憾修復我已經執行一個查詢數據庫來尋找所有可能的類別ID,然後排除在獅身人面像的結果的那些屬性:

$query = $DB->query("SELECT GROUP_CONCAT(cat_id SEPARATOR ',') AS categories 
    FROM categories WHERE category_group='3' 
    GROUP BY category_group"); 

$sphinxclient->SetFilter("categories", explode(",", $query->result[0]['categories']), true); 

這工作,但它看起來應該有更好的方式。

回答

2

無法檢查給定文檔的MVA集合是否爲空...但是,您可以添加另一個整數屬性,該屬性是附加到每個文檔的類別的COUNT。然後你可以過濾等於零,或在一定範圍內。

+0

有趣的做法。似乎比我目前的解決方案少一點黑客。 – 2009-11-12 13:55:04