4 Strategies for Improving Search Functionality and Results

1. Create quality content
An effective search requires quality content:
  • Content should marked-up (HTML coded) semantically.
  • a controlled vocabulary should be created (a list of standardised terms used to describe topics). This will help to ensure that topics are consistently tagged in metadata. For example, content may be tagged with “teachers” in one area of the system while “tutors” is used in another area of the system.
  • Additional meta data should be considered. Additional tags that identify the target audience group, a sector, or the content type can provide more description for content and therefore help users to find exactly what they require.
  • Many search products support ontologies. An ontology is a list of concepts linked by the ways they relate to one another. This helps a search engine grasp the content’s meaning and can significantly improve the quality of the results.
2. Index useful data
A search index is a catalogue of the locations of every word in every document. It is important that only useful data is indexed.
  • Unnecessary page content should be ignored. A page often contains primary navigation text links which allow the user to move to other parts of the system from that page. However these navigation items should not be indexed by the search engine because they do not relate specifically to that page. Including navigation content in search indexes is one of the most common reasons why searches return strange results.
  • Plan to index .pdf, .doc, .xls, .ppt content. Search users will reasonably expect a search to return all of the system’s relevant documents – including the aforementioned document types. Many search products are unable to index these document types. As an alternative, these document types can be converted into HTML. This can be a big job, so priority should be given to the most commonly accessed documents.
3. Support the user’s query
There are a number of strategies that may be implemented which help support the query entered by the user:
  • Users should not have to learn which search syntax a search engine supports. The search engine should accept all common syntax conventions, for example, “and”, “or”, “not” and exact string (using quotes around a query).
  • Support “word stemming” (automatically adding different endings to the query entered. For example, ‘walk’ would also find ‘walks’, ‘walked’ and ‘walking’).
  • Implement search engine synonyms so that when a user enters a term, it is looked up in the synonym list and any equivalent words are also included in the search terms. In this way, the desired information can be found even if the search terms do not exactly match the content of the pages. Search logs provide an excellent starting point for developing a synonym list.
  • Implement “fuzzy logic” elements such as supporting common spelling errors and providing a “did you mean” function.
4. Build a user-centred search results template.
The search results page should be designed to help users find what they require as quickly as possible:
  • Display a text excerpt from the page that contains the terms from the user’s query instead of the meta data description field (the description may vary greatly from the user’s entered query).
  • Bold the terms in the excerpt that match terms in the user’s original query.
  • Minimise the details provided for each result. Search results pages can often provide too much information to the user. For example, size in bytes, links to other similar matches, and relevance expressed as a percentage. These details are not required on the search results page.
  • Consider providing search 'best bets'. Establishing a separate database of ‘key’ pages for a given subject is done to enable ‘best bets’. When a user submits search terms, these are looked-up in this database and any matching entries are listed at the very beginning of the results page. For example, on an insurance website, the "get a quote" page can be presented as a best bet in response to any query which includes ‘insurance’, ‘application form’, ‘quote’, ‘price’ etc. But beware, implementing and maintaining a best bests database can become unweidly and cumbersome.
A couple of excellent articles for further reading:

Have you used any of these strategies to help improve search? Please let me know about it. Leave a comment below. Your comment will appear immediately plus there is no weird captcha image thingy to annoy you. So it's really quick and easy to leave a comment...go on....

1 comment:

Garumoo said...

An old post but a goodie =)

I'm currently researching this area, and I'd add at least three more avenues of improvement:

1) make a smarter search form - this could mean adding (or removing!) zone filters, having a pop-up of auto-suggested search terms, or even hijacking that popup to auto-suggest solutions/destinations (instead of queries).

2) let users do something useful/intelligent with the search results page - provide filters, facets, or other "refine your results" functionality.

3) (the biggie) get metrics. Instrument your search tool to get daily metrics of popular search terms, trending search terms, zero-result searches, etc. Without metrics you're designing blind.