в моей конфигурации с исходным кодом sphinx у меня есть атрибут вроде:
sql_attr_multi = uint categories from query; SELECT entry_id, cat_id FROM categories_entries
При запросе индекса сфинкса можно ли получить только записи, которые не имеют атрибута категории? В качестве хитрого исправления я выполнил запрос к базе данных, чтобы найти все потенциальные идентификаторы категории, а затем исключил эти атрибуты из результатов 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);
Это работает, но, похоже, должен быть лучший способ.