Wednesday, July 30, 2008

Searching for Information

Every good IA understands the necessity of incorporating a simple-to-complex search engine along with the final product delivered to a customer. Search engines can range from a simple text field to a variety of choices and pull-down menu for power-users. In my experience working on the project at IBM, most users like to avoid going too deep unless their job really requires them to do so.

Being simple, however, does not negate the fact that the back-end needs to support highly complex algorithms for handling even the most ludicrous search strings. Most search engines we encounter today offer error-correction using technologies that can range from word-suggestions(based on the repository), to simply putting a list of items on the screen and allowing you to modify your search from there (Google is the best example here). What you don't want to forget at this point is that the search engine you are developing should cater to the needs to the audience it is being given to and not just the client needs.

While the search functionality in Notes is not one of the best in the industry, it does offer concepts like fuzzy logic and web-syntax searching to let the masses stray away from the age-old Boolean search methods. Sites like Google go the extra distance and even tell users that they do not need to use Boolean operators like AND and NOT to do searching as the client already takes that into account.

Dictionaries are a new concept that have seemed to crop up in projects as many of them are going cross-geography. The choice of American vs British English is something that should not bother users as the choice of words ultimately depends on the end-user and not the search-engine developer.

Content Structuring also plays a very important role in developing a search engine because it helps developers understand how the search engine needs to perform a search when a user has a simple/complex query. More often than most, search-engines should bring up the most relevant result (unless instructed otherwise by the client) in the top ten results on the page.

Lastly, but not least, a help-bot is always useful to guide users in a non-intrusive way to getting their results faster. Examples of this are already covered above when we talked about suggestive words and even correcting spelling mistakes automatically.

For now, these are the few things that I can certainly point out from my experience and there are of course many more things that actually help in the searching process and I will try and catch them as I read about them to bring them to light.

No comments: