I saw an article by John Ferrara discussing how Alan Turing’s ideas apply to search (thanks to Daniel Tunkelang from Endeca for pointing this out on his blog). John observed that people often expect search engines to understand them in the same way that a person would. While search engines aren’t able to do this, one tactic he suggested was to help people formulate their queries by using a suggest function. I’ve blogged before that I am a big fan of this functionality. Yahoo has had their Search Assist for over a year, Google recently added suggestions to their home page and we’re offering our Auto Complete to all of our customers (now over 300 sites and growing). John predicted that this functionality will be ubiquitous in a couple of years and your site will look behind the times if it doesn’t include suggestions. I agree.
Another approach we take to query formulation is to show related searches on the search result page itself, both at the top and/or bottom of the results and with each search result. These enable people to execute a new query just by clicking on one of the search suggestions.
John went on to talk about how to improve the search assuming the user has done a good enough job of phrasing the query. He quite rightly pointed out that the best result is often not at the top and suggested reviewing your search logs to identify the most popular queries and tuning the results for those queries. I agree that it is important to review and tweak the results for the most popular terms – but this approach isn’t scalable because search has such a long tail. The approach we take at SLI Systems is to watch which results the users are clicking on and rank those results higher. This lets the users do the tuning and means the search continually gets better without a huge effort on your behalf.