Upload
tony-testa
View
386
Download
0
Embed Size (px)
DESCRIPTION
Customizing SharePoint 2013 search display templates
Citation preview
Customizing SharePoint 2013 Search for On-premise and Office365 environmentsTony Testa
Bio
SharePoint Consultant with Premier Logic
Former SharePoint MVP (2010)
Development focused
http://www.tonytestasworld.com
Twitter: @awtesta
What was available in SharePoint 2010?
Scopes / Rules / Crawled Properties / Managed Properties
Central Admin / Search Service Some site/site collection specific options
Heavily XML/XSLT based to customize results
SQL Syntax and KQL syntax
What’s new for search in SharePoint 2013
Search greatly improved, FAST incorporated
Search Syntax FQL – FAST Query Language KQL – Keyword Query Language SQL Syntax is gone
Continuous Crawling
Result Sources replace scopes
Display Templates allow for HTML/JS customization Results Hover Panels Search box Refiners No more XML/XSLT!
Site/Site Collection/Cental Admin config options
Crawled properties auto promoted to Managed Properties
Anatomy of a search request
1. Applying any Web Part transforms.
2. Applying any query rules. A query rule action can either transform the original query or it can trigger a parallel query that is transformed for a result block.
3. Applying any query transforms on result sources.
4. Parsing the query and creating a query syntax tree for internal use.
5. Processing the query linguistically by performing word breaking, stemming, spelling correction, and synonym expansion.
6. Appending user-access information to the query. This specifies the user who is performing the query and the permissions that the user has.
7. Sending the query to the search index or another search provider.
8. Collecting and merging search results from all search providers and sending them back to the query processing component.
9. Evaluating the search results against result types. If a result matches a particular result type, the result is displayed by using the display template that you have specified for the result type.
10. Applying additional security trimming, if appropriate.
Result Source
Replace 2010 Scopes
Per TechNet: "In SharePoint Server 2010, scopes and federated locations provided ways to limit searches to a certain set of content or subset of search results. In SharePoint Server 2013, result sources replace scopes and federated locations.“
When a user issues a query, the search system associates the query with a result source to provide search results.
There are 16 pre-configured result sources
Query Transforms
Part of Result Sources
Allows you to “transform” the users incoming query so that its more specific and returns only desired content
Example: Local Video Results {searchTerms?} {?path:{Scope}} {?
owstaxIdMetadataAllTagsInfo:{Tag}} (ContentTypeId:0x0120D520A808* OR (SecondaryFileExtension=wmv OR SecondaryFileExtension=avi OR SecondaryFileExtension=mpg OR SecondaryFileExtension=asf OR SecondaryFileExtension=mp4 OR SecondaryFileExtension=ogg OR SecondaryFileExtension=ogv OR SecondaryFileExtension=webm))
Result Types
Main point of this talk
Per TechNet: A rule that causes distinct kinds of search results to be displayed in different ways
One or more characteristics or conditions to compare each search result against, such as the result source or content type of the search result
A display template to use for search results that meet the conditions. The display template controls the way in which all results that meet the conditions appear and behave on a search results page.
31 OOTB result types Microsoft Word, Microsoft PowerPoint,
Video,PDF,Person,SharePoint List
Query Rules
Allows admins to help respond to the intent of a users query
Help the users to help themselves example
If a rule is met, additional actions can be performed Add Promoted Results Add Result Blocks Change result rankings
Can be configured with publishing settings Set rules to expire Could be helpful in internet publishing site scenarios
Demo: Result Source/Type
Display Templates
Allow for customizing search results granularly
Very extensible
Imagination is the only real barrier Lots of 3rd party options; jQuery, Knockout, etc.
Types Item Hover Panel Refiners Search Box
HTML/Javascript based No more XSLT !
Uses Client-side Rendering (CSR)
Similar to new masterpages, you edit the HTML and JS files is generated for you
Can be leveraged in search results as well as content search web part
Demo: Display Templates Overview
What can/can’t be done in Display Templates
What can be done Localization Client side code Calling web services Css style
What can’t be done I’ve noticed some issues when you want to use the
tenant/site collection admin; have to leverage existing managed props if you want a refinable or sortable prop
Demo: Display Template
Demo: Display Template Modifications
What is the ctx object and what does it do?
Best explanation I have at the moment is that it’s a “context” object that has the properties for the result
Best to look at it in chrome by adding “debugger;” line
Where to go for documentation ???? Google seems to be of no use Look at OOTB templates for MS uses
What is the Srch.U object / namespace
Similar to the ctx object, I don’t have a great answer Best to look at it in chrome by adding “debugger;” line
Seems to have helper methods
You can learn a lot by looking at debugger output
Where to go for documentation ???? Google seems to be of no use Look at OOTB templates for MS uses
When in doubt, look at OOTB templates
There are ~ 90 OOTB templates that you can look at
Demo: Hover Panel
Demo: Refiner Template
What can/can’t be done on Office 365
What can be done Most of basic search stuff I’ve shown
Sources/Types Modifying look and feel of results
Display Templates, Hover Panels, Refinement
What can’t be done External calls with jQuery /custom WCF service may not
work or may be more trouble than they are worth
Demo: Office 365 Display Template
Demo: Debugging Techniques
Demo: How can I deploy my modifications ?
Platinum
Gold
Silver Web
SharePoint User Group
• SharePoint
• End Users
• Administrators
• Architects
• Developers
• IT Pros
• Meetings: 2nd Tuesday of the month, Microsoft Malvern, 5:30-8 pm
WEB: www.TriStateSharePoint.org
EMAIL: [email protected]
TWITTER: @tristateSP