0

在我的狮身人面像源配置中,我有一个像这样的属性:

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

查询狮身人面像索引时,是否可以只获取没有类别属性的记录?作为一个笨拙的修复,我在数据库上执行了一个查询以查找所有潜在的类别 ID,然后从 Sphinx 结果中排除这些属性:

$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);

这可行,但似乎应该有更好的方法。

4

1 回答 1

2

没有办法检查给定文档的 MVA 集合是否为空……但是,您可以添加另一个整数属性,即附加到每个文档的类别的 COUNT。然后您可以过滤等于零或在某个范围内的值。

于 2009-11-12T03:49:37.447 回答