1. Validate data strings
Have functions in place that sanitise the search term before processing.
For example, if you are only expecting alphanumeric characters, then process
the string to include only those character types. Use this same validation
to eliminate common words such as ‘and’, ‘the’
and so on. Ensure that the use of common words on their own don’t
generate errors.
2. Check phrase searching
Check that the way your search handles phrases and multiple words is consistent
and clear to the user. At the very least ensure exact phrase searching
is possible, rather than individual words. This is most commonly implemented
using quotes around the phrase as per Google in their non-advanced model.
3. Wildcard searching
Check that your search engine supports ‘wildcard’ searches
for users who are unsure of the exact phrase. For example light* should
match lighting, lights and so on.
4. Synonym dictionary
Use a behind-the-scenes synonym dictionary to increase the efficiency
of searches. Include any common spelling errors or jargon that users are
entering.
5. Error handling
Ensure that when an error occurs the system knows what to do with it,
especially if implementing Microsoft’s SQL text search. Ensure the
user does not receive a page of code but a short apology for an error.
This is important for the user’s confidence that the website is
providing reliable information and to prevent the impression that the
site is broken!
6. Page titles
Configure your search engine not to display page titles if they are the
same. Better still use unique page titles in the first place.
7. Search engine Help
Provide useful help information in support of your search engine including
an explanation of the types of search available and ensure this is an
accurate description of how it really works.
8. Number of results per page
Fix the number of hits per page and keep them to a maximum of 25. It is
good usability to let the user select the number of results they would
prefer if possible.
9. Have it tested
If you’re implementing a new search engine or any new website functionality
ensure you have it tested before going live.
10. Don’t re-invent the wheel
If you don’t currently have a search engine or are having problems
with yours, try using existing code from internal code archives, middleware,
Open Source on the web or as a bought-in component. Google and Atomz also
offer search functions on your behalf and these can be free if you don’t
mind incorporating their logo.
|