What to consider when specifying the search function of your website

Specifying the Search Function
What to consider when specifying the search function of your website

Searching is one of the key features of any modern user interface. With todays powerful algorithms and cheap hardware, it is possible to provide an easy-to-use search solution to your customers, utilizing all the great features that made online searches successful. Just keep one thing in mind: The less effort it takes to search, the more effort typically went into the development of the search functionality. Do not confuse ease of use with ease of implementation!

In this article, I want to give an overview of the typical mistakes that jeopardize search functionality. I will focus on Apache Lucene, since it is integrated into Sitecore and free, hence used often. There are many parameters that can be defined and customized in Lucene, yet very few that should. Search requirements are often prematurely optimized in ways that significantly reduce the usability, yet underspecified in the important areas. Here is a list of things to avoid when specifying search functionality.

Adding it “on top”

Searching is often a key feature of a solution, yet is perceived as something that you simply add on top once the rest is finished. If you follow this approach, your search will probably turn out to be a gimmick rather than a convenient tool for your customers. If you want your search to be useful, you need to consider it throughout the entire design phase. Specify the search while developing the data model. Define the relations and characteristics that could be used for filtering and identify which sections are internationalized. You will end up with a taxonomy of your content that can be reflected in your search functionality.

“Just like google”

Comparisons with high-end search engines are futile. The developing companies have probably invested more time and money into their product than you have at hands for your whole project. Additionally, the search algorithms might not be fitting your business case. You are unlikely to search the contents of the whole internet, so you might want a different approach than Google.

Categorizing your search

This is the most common mistake I experience in search requirement definitions and I honestly do not understand why. What can be simpler for your users than a single input field, a button, and a result list? Why would you want to complicate this by creating multiple result sets? Often the categories are arbitrarily defined and not even clear to the end user. If you have the impression that your search yields too many results, add filter functionality to reduce the number progressively. Note that the total number of hits does not inherently impair the search experience.

Messing with the result

Modern search algorithms use highly complex and heavily optimized algorithms to determine the relevance of a search result. This relevance is dependent on the length and uniqueness of the term, the abbundance throughout all documents and some other factors. In Lucene, this is called “score” and determines the order of results. There are ways to modify this score, but there is hardly ever a reason to do that. Never ever abuse your search as a marketing tool by implementing business logic like “a product must always be scored higher than an asset file” or similar. Never ever order the result implicitly by anything other than the score.

Using AND

There may be a point when you face the decision of whether the entered search terms should be AND– or OR-combined. In general, AND means that your result count decreases with more terms, while OR increases it. Using the AND-approach feels natural at first glance, but if you follow the other advices, you should utilize the OR-approach. Lucene will generate a lot of search results, but will make sure that the relevant results are among the first hits.

Conclusion

The take-home message is: Search does not come for free. It requires thorough planning and deep conceptual insights to create this functionality. Make sure that you have technical expertise available during the design phase. Try to avoid including too many stakeholder concerns and go for a technical relevance instead of a business one.

Last but not least: Note that this list is not even close to being exhaustive, as search itself is an incredibly complex topic.

Never miss an update by following us and subscribing to our monthly newsletter!

Summary
What to consider when specifying the search function of your website
Article Name
What to consider when specifying the search function of your website
Description
Searching is one of the key features of any website. With powerful algorithms it's possible to provide an easy-to-use search solution to your customers.
Author
Publisher Name
Atos Consulting CH
Publisher Logo

Leave a Reply

Your email address will not be published. Required fields are marked *