Search is becoming more pervasive in the enterprise due to the amount of content being generated on a daily basis. As a result, IT organizations are faced with the task of implementing search-driven applications that quickly connect users to the relevant content they need to perform their jobs, while at the same time providing the best user experience possible.
With SharePoint 2013, Microsoft has provided an incredible platform for building rich and immersive search applications. The common misconception is that creating a search application is like building another SharePoint site, but with search functionality. The view is that it is just a matter of simply turning on the out of the box search functionality, creating a search center, and slapping on few web parts on a page.
Well, in some aspects, building a search-driven application is similar to building a traditional application. However, to provide a user search experience that is more aligned with what users have become accustomed to with Internet search, there are some important factors to take into consideration. In this blog series, I’ll discuss the unique aspects of search-driven applications that differentiate them from standard applications to help you develop a plan to build a search-driven killer app.
The basic idea behind creating a search-driven killer application is to develop a plan that will employ what we at BA Insight refer to as the “four pillars”. These pillars are Context, Content Acquisition, Information Enrichment, and User Experience. While it is certainly possible to quickly stand up a search application with SharePoint, employing the four pillars will ensure that you have implemented a search-driven application that your user community will continue to gain value from and use on a regular basis. In each of these blogs, I will discuss each pillar in greater detail.
I’ll start with “Context” in this blog. Context is an important aspect of any search-driven application because each of your users (or more likely groups of users) is usually searching for content within a specific context. The prevailing thought is that if you simply return relevant information somewhere within your search results, then that will be good enough. However, it’s a mistake to think that every user has the same context when they are looking for information. You might think that Google has only one context (find information on the Internet) and they are really successful in delivering relevant search results, so why shouldn’t you be able to do the same? Well, Google does understand a user’s context and adjusts the search results accordingly. For example, when you search for travel related stuff, TripAdvisor is one of the top results. When you search for search for restaurants, Yelp is one of the top results. When you search on a proper name (person, place, etc…), Wikipedia is one of top results.
By understanding the different user contexts, you can design your search application accordingly. Users might type the same keywords into the search box, but understanding who that user is and tailoring the search results to that user’s context will provide a more meaningful search experience. Let’s examine two different user contexts that I see a lot at our legal customers. Imagine there are two different attorneys at the firm – one from the real estate practice and another from the civil litigation practice. Each attorney enters the term “closing document” into the search box. The real estate attorney is looking for documents related to real estate closings. The civil litigation attorney is looking for a document related to closing statements made during a civil lawsuit.
Understanding the user context will allow you to set up the search experience to boost documents to the top of the search results based on some identifiable metadata about the documents and the users. Using the legal example, you might be able to identify each attorney’s context by understanding that the attorney has a practice area in his user profile, and then use the practice area information to boost documents from that particular area. So, the real estate attorney would see documents from the real estate practice boosted to the top of the search results, and the civil litigation attorney would see documents from the civil litigation practice at the top of the search results.
Of course, you’d need some tools to help you implement a contextual driven search experience. Tools like BA Insight’s Connector Framework can help inject pertinent metadata into user profiles that will provide the user’s context during query time. BA Insight’s Federator Technology can help with query orchestration by modifying the query to boost contextually relevant documents to the top of the search results for a particular user’s context.
How do you determine all the different user contexts within your organization? There is no magic formula as it would be nearly impossible both from an implementation and management perspective to account for every single user context. The best approach is to get an understanding of the contexts that are the most prevalent for large groups of users. Accounting for the ones that will have the biggest impact to your organization will provide a far better search experience than just turning on search with a one size fits all contextual model.
In my next blog I will cover content acquisition and the importance of authoritative sources.