Если вы не можете проникнуть слишком глубоко в такие рамки, как CakePHP, я бы сказал, что Drupal - ваш лучший выбор. Drupal довольно дружественен для не кодировщиков, но если вы собираетесь заставить его работать для проектов, которые являются более сложными, чем стандартные ситуации, есть небольшая кривая обучения.
Существует по крайней мере один модуль, который позволяет вам использовать пользовательский тип контента для профиля пользователя, который должен позволять вам отмечать профили (узлы типа контента профиля) с помощью модуля таксономии. Пользователи в Drupal не являются узлами, поэтому я полагаю, что пометить их тегами у вас не получилось.
Что касается поиска, весь контент должен быть проиндексирован и доступен для поиска в Drupal, если он настроен для этого. Я не уверен, какие модули доступны для конкретного поиска по таксономическому термину, но если вы используете систему тегов и хотите представить теги hass / Want по тегам, это достаточно просто настроить с помощью замечательного модуля Views. Некоторое время назад, я думаю, я настроил представления, которые отражали структуру словаря / термина таксономии и просто перенаправлялись в представление с помощью модуля перенаправления таксономии, когда кто-то нажимал на тег.
Я думаю, что если по какой-то причине вы не можете заставить его работать в Drupal (или вам действительно не нравится Drupal), вам придется войти в CakePHP или в одну из других фреймворков, но Drupal безусловно, в состоянии выполнить то, что вы хотите сделать, вероятно, без какого-либо специального PHP-кодирования, если вы собрали все нужные модули вместе.