Я хотел бы использовать Sphinx для сопоставления многих со многими. Я взял вопрос и теги здесь в StackOverflow для иллюстрации.
Вопрос может быть связан со многими тегами и наоборот для тега.
Итак, в mysql у меня есть 3 таблицы: question, tag, question_tag.
Я бы хотел найти вопросы, которые содержат как можно больше тегов в наборе "java", "sphinx", "mysql", "hibernate". Таким образом, в результате могут возникнуть вопросы с 3 совпадениями, 2 совпадениями или 1 совпадением.
В настоящее время я создаю поле, которое объединяет все эти теги с пробелом и выполняет поиск сфинкса в этом поле. Но это звучит глупо и создает много накладных расходов при добавлении и удалении тегов. Там будет какой-то умнее, верно?