I've a site with following features group, events, pages and users.
Currently normal search on group name, event name, page name and user name are working even works on their description and posts.
But I want to implement some smart search like if someone searches :
"Robert from New York" - it will return all users from new york whose name is robert
"Artist from London" - it will return all users who writes artists in their profession and city is London
"Developer in Google" - it will return all users who works puts writes developer in their profession and google in comapny
"Groups for Entertainment" - it will return all groups which is under Entertainment category
I've sep. table for categories, cities, companies, groups, events, users, pages and actions.
I want best and fastest way to do something like this just suggest me some way which is good in performance and also extendable for example if any action increase in future then can be implemented easily without breaking previous.
Many thanks in advance :)
I've also planned to put 1 more table before search for this with fields : Name and Type, Name can be anything and Type will be something like : User, Skill, Designation, Company, city, Group