strapline - putting your complex web systems to the test Home Search Contact
sitemap

Reference

SciVisum Research
Resource List



Implementing Search Engines:

Search Engine testing 2006
SciVisum Top 10 Tips

 

SciVisum Top 10 Search Engine Tips

 

 

 

 
 

1. Validate data strings
Some sites tested would return matches for a word or phrase but none if the same word or phrase had quote marks around it. Your users may inadvertantly end up with stray characters or punctuation marks, so make sure you can handle them in a sensible manner - by having 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.

2. Don't search on common words
Everyone is now familiar with the way search works on Google - so like them filter out common words (aka noise words) like the, a, and, this. It'll reduce the work your search database has to perform and in any case, it won't pull up any matches that help your user.
But take care not to make the mistake that several councils made - if the search string is just a single common word, ensure that this doesn't trigger an unpleasant database error message to the user

3. Check phrase searching
Check that the way your search handles multiple words is consistent and clear to the user - again, why not follow the Google model and treat multiple words as ALL not ANY queries.
So that 'council tax' should find less matches than either word on it's own.

4. Wildcard searching
Not many councils offer this, but see if 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.

5. Synonym dictionary
Again, this is not often done, but for a site with a well defined range of jargon, a behind-the-scenes synonym dictionary can increase the usability of searches.
Include any common spelling errors or jargon that users are entering.
So 'noisy neighbours' should match to the council's 'noise abatement' department.

6. 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!

7. 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.

8. Number of results per page
Fix the number of hits per page and keep them to a maximum - say 10 per page like Google. For a little extra finesse, let the user select the number of results they would prefer.

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.