2009-10-23 75 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