Joom Profile is the best tool for managing users' profile and as well as for searching them. You need to use following steps to enable user searching at your site. Let discuss them.
Configure Searchable Fields
- Goto Joomla admin panel => components => Joom Profile => Usergroups.
- All the usergroups will be listed there. You need to edit all the usergroups for which you want to setup searchable fields. So click on any usergroup.
- There is a field Not Searchable Usergroup. you can select usergorup(s) here, so that users of these usergroup will not be listed in search result if any user from editing usergroup makes any search. Like in the below screenshot Public users will not be able to see users from Super User and Administrator usergroup. You need to cross check your setting when any user can have multiple usergroup. In this case if any usergroup allows user to view users, then users will be listed.
- There is a select box displayed which will list all the fields you created. You can add the field(s), which should be searchable for that usergroup. You can also set which fields need to be shown on mini profile of user in search result.
- Create a menu link for Search, so that user can search by going through that link. You can apply the access level to menu as you want. Like you want to allow only registered user can search, then you can ass access level "Registered" to this menu and do not configure any field for "Public" and "Guest" usergorups.
- List of searchable fields will be displayed here. All the fields are calculated according to user's usergroup who is visiting, whether user is logged in or not. If user is not logged in then usergroup "Public" and "Guest" (if available) will be considered. If user is logged in then user's usergroup will be considered.