Developer Area/Specifications in Development/Search 1.1
Proposal for improving user searches as a first step towards Search 2.0.
Use exact matching only in user search queries
User searches get slow as the number of users increases of the partial matching on profile fields using ILIKE. Make user search scale better by changing the query to use '=' instead.
Simplify the searchable profile fields
In Site Administration under Administer Extensions -> artefact:internal, the admin is allowed to choose 'public' profile fields from a list of all profile artefacts.
- Rename 'Public' to 'Searchable'.
- Remove everything from the list apart from First Name, Last Name, Display Name, Student ID, and Email Address.
- Default will be First Name, Last Name, Display Name.
Introduction must be removed because of the exact matching requirement above.
Usernames will be searchable as long as "Search Usernames" is enabled in Site Options (no change from current behaviour).
Make the user search "AND" terms together
See point 7 on the Search 2.0 page.
Respect quotes in search queries
The exact matching change above would mean that searches for 'John Smith' won't find users with the display name "John Smith" (although they will find a user with first name 'John' and last name 'Smith'). This is because words in the search strings are treated as separate search terms. To allow profile fields with two or more words to be searchable, we'll treat anything in double quotes as a single search term.