Monday, September 12, 2011

SharePoint 2010 Search | Fast?

This post is an attempt to answer the question “what is the right search strategy (using SharePoint 2010) for your customer”.


Whilst finding the right approach I came across a phrase “actionable search”. Actionable search is an important phrase to understand. Actionable search results are directly used by searcher to complete a specific task. Let’s take an example of an ecommerce site where you enter the product code in search box and the search result shows the product with link “add to cart”. Adding product to the shopping cart here is the user action directly associated with the search performed. Actionable search is less relevant in search engines like Google and Bing; however, it can have significant impact on employee productivity in intranet scenario. Actionable search is meaningful when there is high degree of relevance and becomes more powerful when contextual actions (options you get when hovering on result e.g. bookmark, see similar results, add metadata, like C etc.) are associated with the results.


The reason I bring this point is the fact that “actionable search” is the key consideration for organizations looking specifically for an enterprise search solution for improved employee productivity.


Coming back to the search strategy question; to get an answer, it’s important to understand 1) customer requirements (functional and non-functional), 2) existing platform/data, 3) long and short term goals, 4) audiences and 5) budget. These are generic parameters, a thorough analysis of the best solution to meet an organization's particular needs should be conducted before making a recommendations. On the lighter side, while working in Microsoft India the point 5) above was the only/ main consideration for meJ.


There are two main enterprise search options coming with the SharePoint 2010 release:


1) SharePoint Server 2010 Search – the out-of-the-box SharePoint search for enterprise deployments


2) FAST Search Server 2010 for SharePoint – product based on the FAST search technology that combines the best of FAST’s high-end search capabilities with the best of SharePoint.


Please note that there are various components (comprising the enterprise search solution) and parameters (performance, availability, content size etc) that are out of scope of this article. This article aims towards providing high level overview of SharePoint 2010 search options and usage scenarios.



Choosing the Right Search Product (Microsoft version)


With Enterprise Search inside the firewall, there are two distinct types of search applications:


· General-purpose search applications increase employee efficiency by connecting "everyone to everything." These search solutions increase employee efficiency by connecting a broad set of people to a broad set of information. Intranet search is the most common example of this type of search application.


· Special-purpose search applications help a specific set of people make the most of a specific set of information. Common examples include product support applications, research portals ranging from market research to competitive analysis, knowledge centers, and customer-oriented sales and service applications. This kind of application is found in many places, with variants for essentially every role in an enterprise. These applications typically are the highest-value search applications, as they are tailored to a specific task that is usually essential to the users they serve. They are also typically the most rewarding for developers.


SharePoint Server 2010's built-in search is targeted at general-purpose search applications, and can be tailored to provide specific intranet search experiences for different organizations and situations. FAST Search for SharePoint can be used for general-purpose search applications, and can be an "upgrade" from SharePoint search to provide superior search in those applications. However, it is designed with special-purpose search applications in mind. So applications you identify as fitting the "special-purpose" category should be addressed with FAST Search for SharePoint.



For simplicity, the "special-purpose" category mentioned above can be related to “actionable search” we’ve discussed in the beginning along with the importance of relevance and contextual search. The FAST search brings following key features in addition to the out of box search offerings:


Visual Best Bets and Similar Results


The Visual Best Bets are enhanced version of Best Bets which were introduced in SharePoint 2007. The FAST Search for SharePoint provides the ability to render visual best bests in the form of images and even videos. You can show Visual Best Bets to the users while they are searching for a particular key word.


With FAST Search Server 2010 for SharePoint, results returned by a query include links to "Similar Results." When a user clicks on the link, the search is redefined and rerun to include documents that are similar to the result in question.


Search Enhancement based on user context


The different search settings: Best Bets, Visual Best Bets, document promotions, document demotions, site promotions and site demotions, can have one or more user contexts associated with them. The user context defines rules for when the settings should be applied. User contexts match the properties defined on the user’s SharePoint User Profile page. For example, an administrator can define that a Visual Best Bet banner should be displayed only if the user who enters the query has Office Location set to Stockholm. This way, different search users will experience different search results for the same query.


Other Features


Following are the other additional features provided by FAST search.


· Entity Extraction


· Advanced Sorting (by rank/ managed property/formula and random)


· Deep Refinement (Faceted Search)


· Document Preview


· Rich Web Indexing


· Structured Data Search using FAST Query Language (FQL)


· Support for high-end performance and scalability requirements.


I am not going into details of aforementioned items as detailed information on each is available on net. In case there is a specific customer requirement that requires one or more features provided only by FAST search, a cost v/s value proposition analysis will be required.


Last but not the least, non functional requirements of the desired system plays a vital role in recommending a best fit search solution. Following are few questions needs to be answered during the analysis process:


· Data size: How many documents need to be searched?


· User Load: How many queries / second are expected?


· Performance Requirement: What is the expected query latency?


· Availability: What is an acceptable down time / year / month?


· Scalability: What is the expected growth rate of data?


· Security: What is the level of security required?


These are some generic questions and there can be a huge list based on customer requirements like multilingual support, geography based scenarios, off line usage etc.


With virtualization support the concept of infinite storage capacity is a reality. Software and Infrastructure as a service model can be recommended in case of limited budget scenarios. It is imperative to understand the performance and search scale requirements to define the right strategy. I will try to unleash these non-functional considerations in my next post.