По договоренности
1-й вариант: "жесткие теги", не позволяем писать свои, разрешаем только выбирать из тех, что существуют в базе. Сортировать по дате, названию, размеру, по рейтингу и т.д.
2-й вариант: Теги выбираются автоматом из определенного поля в описании статьи, для группировки результатов используется поисковый движок Sphinx.
Естественно, делается вывод результатов с постраничной разбивкой и прикручивается кеширование.
При хороших знаниях php, mysql, javascript и желательно sphinx работа несложная. Сроки гибкие. Оплата достойная.