在我的sphinx源配置中,我有一个如下属性:
sql_attr_multi = uint categories from query; SELECT entry_id, cat_id FROM categories_entries
查询sphinx索引时,是否可以只获取没有类别属性的记录?作为一个kludgy修复我已经在数据库上执行查询以查找所有潜在的类别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);
这样可行,但似乎应该有更好的方法。
答案 0 :(得分:2)
无法检查给定文档的MVA集合是否为空...但是,您可以添加另一个整数属性,该属性是附加到每个文档的类别的COUNT。然后你可以过滤等于零,或者在一定范围内。