As someone who has been focusing on Enterprise Search in SharePoint for years, I can say I now know it inside out. There are things I like a lot, there are others I don’t like too much. In this blog post, I decided to collect 10 new or improved features that are my top favorites and that make SharePoint 2013 Search a real enterprise solution.
1 – One, Integrated Enterprise Search Core
In SharePoint 2010, there was a Search Engine (a.k.a. SharePoint Search), but we also had the opportunity to install FAST Search for SharePoint (a.k.a. FS4SP) in order to get real, enterprise level features. FS4SP had to get licensed and installed as a separate product, as a separate farm, and then we could integrate it with SP2010.
In SharePoint 2013, the whole story is much easier: the “big” FAST Search engine got 100% integrated into SharePoint, therefore no separate installation and maintenance is needed. As soon as you install SharePoint 2013, you get the “big” engine instantly.
2 – Content Processing, Entity Extraction
Content Processor is a component that sits in between the Crawler and the Indexer. It is responsible for processing the crawled content. It does all sorts of clever stuff including language detection, extracting security descriptions (to determine who in your organization is allowed to see the content), parsing, linguistic processing (to understand the real meaning of the content), entity and metadata extraction, etc.
There are two things I’d like to highlight here. First is the Web Service Callout step. This option is very useful if you need to perform custom operations on the crawled items before they are processed further.
The second step to highlight is the Custom Entity Extraction. Most organisations have specific terms (a.k.a entities) that are commonly used in everyday business. It’s useful to tell the search engine to look out for some of these words because they carry particular significance for that company . For example, product names or regions where the company operates. The Custom Entity Extraction process extracts words (entities) from the content and use them as metadata in the index. This metadata can be used for filtering, ordering as well as facets on the Refinement Panel. The entities are pre-defined in a dictionary which is created by the organisation. See below an screengrab which shows how custom entities can be useful on the search results page to help the user ‘zero in’ on what he is looking for.
Both Web Service Callouts and Entity Extraction work on any type of Content Source, therefore can be used to unify and standardize the metadata in the index.
3 – Continuous Crawl
Besides Full and Incremental Crawl, there’s a new option in SharePoint 2013 called Continuous Crawl. This is a very dynamic and agile way of crawling that uses SharePoint’s change log to pick up the changes and enumerate the items which have to get crawled. One of its biggest benefits is in its flexibility and agility: the new and changed items can get indexed in minutes or even seconds, therefore we get a good basis for real, always up-to-date Search Based Applications.
Second, Continuous Crawl can rut at the same time as Full Crawl, therefore it can be used to keep the index “refreshed” or up-to-date, even if the Full Crawl takes a long time (days or weeks).
Continuous Crawl is available on SharePoint content sources only.
4 – Search Administration on Multiple Levels
Due to the complexity of Search in SharePoint 2013, search administrators have complex tasks and responsibilities. Delegating some of these tasks might become essential.
In SharePoint 2013, search administration tasks can be delegated to Site Collection administrators and even to Site administrators.
5 – Troubleshooting Enhancements
As Murphy’s Law says, “If anything can go wrong, it will”. Enterprise Search is really complex, and any of its components can go wrong. The better troubleshooting tools we have, the easier to fix these issues.
In SharePoint 2013, we have enhanced logs and reports on the server-side that can be used to debug and identify the causes of issue. The enhanced Developer Dashboard can be also used for debugging, and despite its name, it’s not for developers only.
6 – PowerShell
PowerShell is Microsoft’s scripting technology that has modules for SharePoint administration and automation, too. A huge improvement in SharePoint 2013 is that we have more than 150 commands for Enterprise Search management, including setup and deployment, topology management, crawling, query processing, metadata, etc.
7 – UI Enhancements
8 – Result Sources
Result Sources are used to define the index to be used in our queries (is it a local SharePoint index or a remote one from a separate content source such as Lotus Notes?). They also describe the subset of results to retrieve (these were called “search scopes” in SharePoint 2010). Results Sources can be very useful to define verticals for our Search and ultimately help the user focus her search.
9 – Query Rules
Query Rules help us to define rules that are based on the user’s intent when searching. For example if I search for ‘Harrods department store’ there is a high likelihood that I want to know the location or see a map; view opening and closing times; or to get a link to their online store. Technically speaking, Query Rules contain conditions and actions. A condition can be based on the query itself (contains one or more specific keywords, matches terms defined in a Managed Metadata Term Set, etc.) or on the user (for example the department he or she works, job title, location, etc.). Of course, these conditions can be combined.
Actions are all about promoting the right results to the user – displaying specific Result Blocks or modifying the current query.
- If the user is based in Europe (condition), display a Result Block that highlights the latest documents related to the European market (action).
- If the query contains the keyword “define” (condition), display the results (definitions) from the Company Knowledge Base (action).
10 – Search Query Builder
Last but not least, I’d like to highlight the “wizard” that is used in every Search Web Part in SharePoint 2013. This is the Search Query Builder that helps not only in building the query to be used, but also in choosing the result source as well as filters, ranking models, etc. It also gives us the opportunity to test the results of the current settings before saving anything. This can speed up the configuration of search dramatically.
As you can see, Search in SharePoint 2013 has a lot of components that can be and have to be used in order to get a real, enterprise-level Search Application. In this blog post I highlighted what I consider as the “top 10”, but of course, there are many more, and the beauty of Enterprise Search is always in the details!