Let’s Build aSearch-BasedApplication inSharePoint2013SharePointSaturdayWashington D.C.June, 2013Matthew J. Bailey
Session AgendaWhat use to take days or weeks to program cannow be done with simple Query Rules, ResultSources, Promoted Results & other new featuresof SharePoint 2013 search. See how we cancreate a beautiful, functional, multi-media basedsearch experience based on the users needs andintended results.Topics we going to cover in this session:• What is a search-based application?• New features of SharePoint 2013 search• Solve a real world business case scenario with search relatedfunctionality• Learn how silly I am
Matthew J. Bailey, MCTSSharePoint Business Analyst &IT Project ManagerJDSUI consider myself a “SharePoint All-Rounder”. My job tasks vary fromAdministration, Development, Training, Analyst, UAT and Project Management.My job changes daily based on the crazy life of an IT fellow in corporate America,but it keeps things interesting!I am not an expert with SharePoint search and have not worked FAST too much,however I have worked with SEO, search analytics and design and SharePoint ingeneral for several years. If I don’t know an answer to one of your questions, I willtry to find out or point you in the right direction!Oh, did I mention my “dry” sense of humor? No worries, you’re aboutto experience it while learning SharePoint at the same time
Special thanks to…• Eric Harlan for helping me with mypresentation setup• http://www.ericharlan.com/• Scot Hillier’s presentation on searchat SharePoint Conference 2012 &blog post• http://www.shillier.com/
What is a Search-Based or Search DrivenApplication?I have seen a lot of different definitions of what this reallymeans, some of the definitions I have found are:• Using search as a data access technology. This is less about the UI and moreabout the concept of using search features, queries and indexes to retrieve yourdata.• Using search as the interface. This concept is more along the lines of presentingthe user a web page that looks more like a search experience, whether it be abasic search with type-ahead features or a multiple field advanced search type ofconcept.• Extending the existing search center.• Adding URLs that have search queries in them
Benefits of Search-Based or SearchDriven Applications• Less risk, no code deployments vs. configurations• Easier to troubleshoot issues with results than code• Must faster than coding• More dynamic, flexible to gather and manipulate data
Why do I love search in SharePoint2013 sooooooooo much?• Intent based• Dynamic improvement• Ease of use• Massive flexibilty• Visual Interest• Multimedia/format• Huge productivity increases/time savings• All of the expensive features that use to be in FAST are now free• Makes me look good to my boss when I create awesome searches• I can make it be exactly what I WANT! (is this all about control? Enquiringminds would like to know…)No one even paid me to say this!
My Development Environment• Running on Windows Azure• 3 VMs – 1 AD, 1 SQL, 1 SP• Configured with very high performance settings• Do not have Office Web Apps installed, but will show an example of howthis functions from my Office 365 account.*NOTE: Make sure to check out my link at the end of the presentation where I haveincluded a list of several options to create your own SharePoint 2013 “playground” ifyou do not have one.
Business CaseThere is always something going on at inCogNeato. Productivity is down, moraleand employee motivation are low, profit margins aren’t high enough, we aren’tmeeting our new client goals, operating costs are too high, etc. Frankly speaking,the cog business just isn’t what it use to be.Hugh Jordeal (Executive Director Manager Supervisor) has held an importantmeeting discussing changes we need to make immediately in regards to the launchof the product that will save the company, the “NewCog5000”. Hugh has assignedcertain tasks to some employees that need to be accomplished “pronto”.Unfortunately, no one is sure how to meet the lofty goals assigned and complaintsare coming in to the help desk that no one can find anything on the intranet to dotheir job. Word makes it up to Hugh and IT gets a call that someone better fix theintranet or else. IT needs to whip up an application to help everyone out, and asusual, it was due yesterday. No worries, I’ve got it all figured out (I think).
What are Our Requirements and/orIssues?• People are seeing incorrect results or cannot find items that are there• People cannot find what they are looking for and some people are searching forthings they shouldn’t be• People don’t know how to search / Do not know some things are there• Important and related data is spread all over due to lack of governanceExperience is very lackluster, uninspiring, unmotivating
What are Our Solutions?• People are seeing incorrect results or cannot find items that are thereContinuous Crawl• People cannot find what they are looking for and some people are searching forthings they shouldn’t beResult Sources & Query Rules• People don’t know how to search / Do not know some things are thereSearch Verticals• Important and related data is spread all over due to lack of governanceContent Search Web Part• Experience is very lackluster, uninspiring, unmotivatingDesign Manager / Display Templates
IssuePeople are seeing incorrect results or cannot find items that are thereSolutionContinuous Crawl• It is available only for content sources that use the SharePoint Sites contentsource type.• Set intervals. The default interval is 15 minutes, but you can set continuouscrawls to occur at shorter intervals by using Windows PowerShell.• Continuous crawls ensure content freshness. Unlike full and incrementalcrawls, multiple continuous crawls can run at the same time. For example, ifone continuous crawl is processing a large update, another continuous crawlcan start at the same time and crawl and index other content updates.• Very resource intensive, need to plan for an architecture to support this.• Once enabled, cannot be deleted but it can be disabled and/or re-enabledagain.
Enable continuous crawl• As an Administrator for the Search service application, in CentralAdministration, in the Application Management section, click Manage serviceapplications.• Click the Search service application.• On the Search Administration page, in the Quick Launch, under Crawling,click Content Sources.• On the Search Service Application: Manage Content Sources page, click theSharePoint content source for which you want to enable continuous crawl.• In the Crawl Schedules section, select Enable Continuous Crawls, click OK.• Verification: In the Search Service Application: Manage Content Sourcespage, verify that the Status column has the status Crawling Continuous.To change the continuous crawl interval• Run SharePoint 2013 Management Shell as Administrator, enter PowerShellscript:• $ssa = Get-SPEnterpriseSearchServiceApplication$ssa.SetProperty("ContinuousCrawlInterval",<n>)
IssuePeople cannot find what they are looking for and some people are searching forthings they shouldn’t be.SolutionQuery RulesProvides the ability to influence the search results by overriding the term the userentered to force it to go to a certain result. They are processed under certainconditions.They are composed of 3 items:1. Condition2. Action3. PublishingThey are applied to a Result Source. They can also be applied at the site, sitesollection or service application level.*NOTE: If you want Query Rules to apply in all your websites and the search center, youshould apply these at the web application level as the search center is actually a differentsite collection from your other sites.
Apply Query RulesAssist users in finding what they needAs an Administrator for the Search service application, in Central Administration,in the Application Management section, click Manage service applications.• In Central Administration in your search service go to Query Rules.• Add the Query Conditions• Result BlocksPrevent users from finding what they don’t need• Create Query Rules to “inform” users of inappropriate behavior
Hover Panel / Document PreviewWith a full Enterprise installation of SharePoint 2013, you need to have an OfficeWeb Apps server for the document previews to work. This is enabled by defaultin Office 365 however.I will now perform a quick demo from my session on Rubber Duckieshttps://duckville.sharepoint.com
How is this going so far? Too fast, tooslow, too complex, too easy, too silly?
IssueImportant and related data is spread all over due to lack of governance.SolutionContent Search Web PartLike a pre-built search query to provide search results.• More functional than a CQWP as it has more than 3 levels of criteria & canspan SC• Can be offered to a “power user” to create meaningful results• Offers refining, sorting, display options and much more with no code (wellKQL)*NOTE: The Content Search web part is only available in the Enterprise edition of an on-premise/full trust installation of SharePoint 2013. As a replacement, there is an option touse the Search Results web part instead which has almost all of the same features (butnot quite). Check out Benjamin Niaulin’s link here:http://en.share-gate.com/blog/sharepoint-2013-content-search-webpart
Search VerticalsLink to anything but usually links to a custom searchresult page. The existing search verticals OOTB are:• An .aspx page with some search web parts• The Search Results web part configured to use a Result Source
Easily create your own Search Vertical with a ResultSource:• Go to the Search Center pages library• Copying a result page that already exists via Open in Explorer or SharePointDesigner• Rename the page to something appropriate• Edit the page and the Search Results web part and change the Search Criteria toa different Result Source (either one that already exists or a new one youcreated)• Save, check-in/publish the page• Go to search center Site Settings Search Settings• Add a navigation link to your new custom search result page, saveEasily create a Search Vertical to other links:• Just Go to search center Site Settings Search Settings• Add a navigation link to wherever you like, save
IssueThe interface is uninspiring and not standard tocorporate design. The Graphic Design departmentis none too pleased…SolutionDesign Manager / Display Templates• Quickly use a pre-built template from the installed selections or import your ownDesign Package for a custom look
Display Templates (won’t go into but know they are there)• Display templates in SharePoint Server 2013 are templates used in SearchWeb Parts• They show the results of a query made to the search index.• Display templates control which managed properties are shown in the searchresults, and how they appear in the Web Part.• Each display template is made of two files: HTML file and .js file (use to bethe xslt designer in 2010)• Only Search Web Parts can use display templates (i.e., Search Results,Content Search, Taxonomy Refinement)• http://msdn.microsoft.com/en-us/library/jj945138.aspx• http://www.youtube.com/watch?v=yC4LZapFdfY
And so much more…• All types of different rule variations• All types of different ways to display results• All types of concepts to personalize search per user• All types of sorting on rules• All types of queries using KQL• All types of coding against the search objectmodel/CSOM, from apps, against the index, etc.
Now that we understand search inSharePoint 2013, everyone is a happyfamily…
Feel free to connect:@matthewjbailey1http://www.matthewjbailey.comhttp://firstname.lastname@example.orgDownload my slides and get started at:http://bit.ly/11oOP23
Questions?Fill out the evaluation about my session(perty please…)