SlideShare a Scribd company logo
1 of 25
INTRODUCTION TO SHAREPOINT 2013 SEARCH
AND CREATING DYNAMIC CONTENT
MANAGEMENT SOLUTIONS
Ryan McIntyre
MCITP, MCPD
Director, Portals & Collaboration
@ryanmcintyre
• SharePoint 2013 Search Overview
– Changes from 2010
• Search Solutions
• OOTB Web Parts Review
• API
– Server side
– Client side
• Packaging & Deployment
LEAVE NOW…OR…
SCENARIOS
Powerful Engine
2013 SEARCH INTRO
FAST
Index FS4SP
2010
Search
2013
Search
2013 SEARCH ARCHITECTURE
HTTP
File shares
SharePoint
User profiles
Lotus Notes
Documentum
Exchange folders
Custom - BCS
SharePoint
SP Apps
Devices
Non-SP UX
Public API
Unit of scale/role boundary
• Content Source
• Search Schema
– Now available through
site administration
• Query Rule
– Customization of returned
results
– Captures
Intent, composed of
• Query Condition
• Query Action
• Publishing Options
CORE BUILDING BLOCKS
• Query Transforms
– Web Parts (3)
– Query Rule (2)
– Result Source (1)
• Result Source
– Scope +
– Federated +
• CSWP
CORE BUILDING BLOCKS
• Result Type
– How to display types of
results
• Display Templates
– CSWP
– Hover Panel
– Refiner
– Search Results
CORE BUILDING BLOCKS
SEARCH EXPERIENCE
SEARCH IN ACTION DEMO
EXECUTING QUERIES
EXECUTING QUERIES: KQL
EXECUTING QUERIES: REST
 Keywords
 http://server/site/_api/search/query?querytext='{KQL Query}‘
 Selecting Properties
 http://server/site/_api/search/query?querytext='test'&selectproperties='Title,Ran
k'
 Sorting
 http://server/site/_api/search/query?querytext='test'&sortlist='LastModifiedTime:
descending'
 http://server/site/_api/search/query?querytext='test'&sortlist='LastModifiedTime:
descending,Rank:ascending
EXECUTING QUERIES: REST
<d:RelevantResults m:type="Microsoft.Office.Server.Search.REST.RelevantResults">
<d:RowCount m:type="Edm.Int32">16</d:RowCount>
<d:Rows m:type="SP.SimpleDataTable">
<d:Rows>
<d:element m:type="SP.SimpleDataRow">
<d:Cells>
<d:element m:type="SP.KeyValue">
<d:Key xml:space="preserve">Rank</d:Key>
<d:Value xml:space="preserve">29.4688339233398</d:Value>
<d:ValueType xml:space="preserve">Edm.Decimal</d:ValueType>
</d:element>
EXECUTING QUERIES: CSOM
ClientContext ctx = new ClientContext("http://sharepointonline/site");
var query = new KeywordQuery(ctx, ctx.Site);
query.QueryText = "Search terms";
query.ResultTypes = ResultType.RelevantResults;
query.Id = Guid.NewGuid();
var queries = new KeywordQuery[1];
queries[0] = query;
SearchExecutor searchExecutor = new SearchExecutor(ctx);
var rcc = searchExecutor.ExecuteQueries(queries);
ctx.ExecuteQuery();
QUERY DEBUGGING
CSWP & DISPLAY TEMPLATE DEPLOYMENT
• <cringe>Design in UI</cringe>
• Export
• Visual Studio solution
– Create “host” page
– Add markup for CSWP from export
– Properly escape „{„, „}‟, and quotes in DataProviderJSON property
CSWP DEVELOPMENT & DEPLOYMENT
• Create HTML file and verify results in UI
• Export JS
• Visual Studio solution
– Include JS
– Deploy to “_catalogs/masterpage/Display Templates/Content
Web Parts”
– {Optionally, deploy HTML (not JS) and programmatically update
file post-deployment to generate JS}
DISPLAY TEMPLATE DEVELOPMENT &
DEPLOYMENT
DEPLOYMENT DEMO
SCENARIOS
Ryan McIntyre
ryan.mcintyre@neudesic.com
http://blog.randomdust.com
@ryanmcintyre
303-520-6337
• http://sp2013searchtool.codeplex.com/
RESOURCES
Join us right after the event at the Firehouse Grill!
Socialize and unwind after our day of learning.
1765 E. Bayshore Road
East Palo Alto, CA

More Related Content

Viewers also liked

Entreave for Recruiters
Entreave for RecruitersEntreave for Recruiters
Entreave for RecruitersEntreave
 
Introduction to SharePoint 2013 Apps
Introduction to SharePoint 2013 AppsIntroduction to SharePoint 2013 Apps
Introduction to SharePoint 2013 AppsRyan McIntyre
 
Introducing Office Web Apps as a Tool for Developing Content Rich Applications
Introducing Office Web Apps as a Tool for Developing Content Rich ApplicationsIntroducing Office Web Apps as a Tool for Developing Content Rich Applications
Introducing Office Web Apps as a Tool for Developing Content Rich ApplicationsRyan McIntyre
 

Viewers also liked (6)

Entreave for Recruiters
Entreave for RecruitersEntreave for Recruiters
Entreave for Recruiters
 
Presentation2
Presentation2Presentation2
Presentation2
 
My photo analysis
My photo analysisMy photo analysis
My photo analysis
 
Revisão portugues
Revisão  portuguesRevisão  portugues
Revisão portugues
 
Introduction to SharePoint 2013 Apps
Introduction to SharePoint 2013 AppsIntroduction to SharePoint 2013 Apps
Introduction to SharePoint 2013 Apps
 
Introducing Office Web Apps as a Tool for Developing Content Rich Applications
Introducing Office Web Apps as a Tool for Developing Content Rich ApplicationsIntroducing Office Web Apps as a Tool for Developing Content Rich Applications
Introducing Office Web Apps as a Tool for Developing Content Rich Applications
 

Similar to SharePoint 2013 Search - A Developer’s Perspective - SPSSV 2013

SharePoint REST vs CSOM
SharePoint REST vs CSOMSharePoint REST vs CSOM
SharePoint REST vs CSOMMark Rackley
 
The SharePoint & jQuery Guide
The SharePoint & jQuery GuideThe SharePoint & jQuery Guide
The SharePoint & jQuery GuideMark Rackley
 
The SharePoint and jQuery Guide by Mark Rackley - SPTechCon
The SharePoint and jQuery Guide by Mark Rackley - SPTechConThe SharePoint and jQuery Guide by Mark Rackley - SPTechCon
The SharePoint and jQuery Guide by Mark Rackley - SPTechConSPTechCon
 
SharePoint Search Enrichment
SharePoint Search EnrichmentSharePoint Search Enrichment
SharePoint Search EnrichmentManoj Mittal
 
(Updated) SharePoint & jQuery Guide
(Updated) SharePoint & jQuery Guide(Updated) SharePoint & jQuery Guide
(Updated) SharePoint & jQuery GuideMark Rackley
 
Basic SharePoint search
Basic SharePoint searchBasic SharePoint search
Basic SharePoint searchToan Nguyen
 
Spsbe16 searchdrivenapplications-150419151108-conversion-gate01
Spsbe16 searchdrivenapplications-150419151108-conversion-gate01Spsbe16 searchdrivenapplications-150419151108-conversion-gate01
Spsbe16 searchdrivenapplications-150419151108-conversion-gate01BIWUG
 
Search-Driven Applications with SharePoint 2013 (#SBSBE16)
Search-Driven Applications with SharePoint 2013 (#SBSBE16)Search-Driven Applications with SharePoint 2013 (#SBSBE16)
Search-Driven Applications with SharePoint 2013 (#SBSBE16)Maximilian Melcher
 
Building Search Driven Applications
Building Search Driven ApplicationsBuilding Search Driven Applications
Building Search Driven ApplicationsBrian Caauwe
 
SharePoint & jQuery Guide - SPSTC 5/18/2013
SharePoint & jQuery Guide - SPSTC 5/18/2013 SharePoint & jQuery Guide - SPSTC 5/18/2013
SharePoint & jQuery Guide - SPSTC 5/18/2013 Mark Rackley
 
Exam 70-489 Developing Microsoft SharePoint Server 2013 Advanced Solutions Le...
Exam 70-489 Developing Microsoft SharePoint Server 2013 Advanced Solutions Le...Exam 70-489 Developing Microsoft SharePoint Server 2013 Advanced Solutions Le...
Exam 70-489 Developing Microsoft SharePoint Server 2013 Advanced Solutions Le...Mahmoud Hamed Mahmoud
 
Connect 2014 - EXTJS in XPages: Modernizing IBM Notes Views Without Sacrifici...
Connect 2014 - EXTJS in XPages: Modernizing IBM Notes Views Without Sacrifici...Connect 2014 - EXTJS in XPages: Modernizing IBM Notes Views Without Sacrifici...
Connect 2014 - EXTJS in XPages: Modernizing IBM Notes Views Without Sacrifici...Mark Roden
 
Working with a super model for SharePoint Tuga IT 2016
Working with a super model for SharePoint Tuga IT 2016Working with a super model for SharePoint Tuga IT 2016
Working with a super model for SharePoint Tuga IT 2016Sonja Madsen
 
Sps mad2019 es el momento, empieza a desarrollar para microsoft teams
Sps mad2019   es el momento, empieza a desarrollar para microsoft teams Sps mad2019   es el momento, empieza a desarrollar para microsoft teams
Sps mad2019 es el momento, empieza a desarrollar para microsoft teams Ruben Ramos
 
Utilizing Microsoft Graph API and Office 365 Management Activity API during s...
Utilizing Microsoft Graph API and Office 365 Management Activity API during s...Utilizing Microsoft Graph API and Office 365 Management Activity API during s...
Utilizing Microsoft Graph API and Office 365 Management Activity API during s...Kirill Bogdanov
 
FAST for SharePoint Deep Dive
FAST for SharePoint Deep DiveFAST for SharePoint Deep Dive
FAST for SharePoint Deep Diveneil_richards
 
Hard learned CSOM and REST tips
Hard learned CSOM and REST tipsHard learned CSOM and REST tips
Hard learned CSOM and REST tipsSPC Adriatics
 
MSFT Dumaguete 061616 - Building High Performance Apps
MSFT Dumaguete 061616 - Building High Performance AppsMSFT Dumaguete 061616 - Building High Performance Apps
MSFT Dumaguete 061616 - Building High Performance AppsMarc Obaldo
 
SharePoint 2013 Search Based Solutions
SharePoint 2013 Search Based SolutionsSharePoint 2013 Search Based Solutions
SharePoint 2013 Search Based SolutionsSPC Adriatics
 

Similar to SharePoint 2013 Search - A Developer’s Perspective - SPSSV 2013 (20)

SharePoint REST vs CSOM
SharePoint REST vs CSOMSharePoint REST vs CSOM
SharePoint REST vs CSOM
 
The SharePoint & jQuery Guide
The SharePoint & jQuery GuideThe SharePoint & jQuery Guide
The SharePoint & jQuery Guide
 
The SharePoint and jQuery Guide by Mark Rackley - SPTechCon
The SharePoint and jQuery Guide by Mark Rackley - SPTechConThe SharePoint and jQuery Guide by Mark Rackley - SPTechCon
The SharePoint and jQuery Guide by Mark Rackley - SPTechCon
 
SharePoint Search Enrichment
SharePoint Search EnrichmentSharePoint Search Enrichment
SharePoint Search Enrichment
 
(Updated) SharePoint & jQuery Guide
(Updated) SharePoint & jQuery Guide(Updated) SharePoint & jQuery Guide
(Updated) SharePoint & jQuery Guide
 
Basic SharePoint search
Basic SharePoint searchBasic SharePoint search
Basic SharePoint search
 
Spsbe16 searchdrivenapplications-150419151108-conversion-gate01
Spsbe16 searchdrivenapplications-150419151108-conversion-gate01Spsbe16 searchdrivenapplications-150419151108-conversion-gate01
Spsbe16 searchdrivenapplications-150419151108-conversion-gate01
 
Search-Driven Applications with SharePoint 2013 (#SBSBE16)
Search-Driven Applications with SharePoint 2013 (#SBSBE16)Search-Driven Applications with SharePoint 2013 (#SBSBE16)
Search-Driven Applications with SharePoint 2013 (#SBSBE16)
 
Building Search Driven Applications
Building Search Driven ApplicationsBuilding Search Driven Applications
Building Search Driven Applications
 
SharePoint & jQuery Guide - SPSTC 5/18/2013
SharePoint & jQuery Guide - SPSTC 5/18/2013 SharePoint & jQuery Guide - SPSTC 5/18/2013
SharePoint & jQuery Guide - SPSTC 5/18/2013
 
Exam 70-489 Developing Microsoft SharePoint Server 2013 Advanced Solutions Le...
Exam 70-489 Developing Microsoft SharePoint Server 2013 Advanced Solutions Le...Exam 70-489 Developing Microsoft SharePoint Server 2013 Advanced Solutions Le...
Exam 70-489 Developing Microsoft SharePoint Server 2013 Advanced Solutions Le...
 
Connect 2014 - EXTJS in XPages: Modernizing IBM Notes Views Without Sacrifici...
Connect 2014 - EXTJS in XPages: Modernizing IBM Notes Views Without Sacrifici...Connect 2014 - EXTJS in XPages: Modernizing IBM Notes Views Without Sacrifici...
Connect 2014 - EXTJS in XPages: Modernizing IBM Notes Views Without Sacrifici...
 
Working with a super model for SharePoint Tuga IT 2016
Working with a super model for SharePoint Tuga IT 2016Working with a super model for SharePoint Tuga IT 2016
Working with a super model for SharePoint Tuga IT 2016
 
Sps mad2019 es el momento, empieza a desarrollar para microsoft teams
Sps mad2019   es el momento, empieza a desarrollar para microsoft teams Sps mad2019   es el momento, empieza a desarrollar para microsoft teams
Sps mad2019 es el momento, empieza a desarrollar para microsoft teams
 
Utilizing Microsoft Graph API and Office 365 Management Activity API during s...
Utilizing Microsoft Graph API and Office 365 Management Activity API during s...Utilizing Microsoft Graph API and Office 365 Management Activity API during s...
Utilizing Microsoft Graph API and Office 365 Management Activity API during s...
 
FAST for SharePoint Deep Dive
FAST for SharePoint Deep DiveFAST for SharePoint Deep Dive
FAST for SharePoint Deep Dive
 
Hard learned CSOM and REST tips
Hard learned CSOM and REST tipsHard learned CSOM and REST tips
Hard learned CSOM and REST tips
 
MSFT Dumaguete 061616 - Building High Performance Apps
MSFT Dumaguete 061616 - Building High Performance AppsMSFT Dumaguete 061616 - Building High Performance Apps
MSFT Dumaguete 061616 - Building High Performance Apps
 
Discover Your IT Career Path
Discover Your IT Career PathDiscover Your IT Career Path
Discover Your IT Career Path
 
SharePoint 2013 Search Based Solutions
SharePoint 2013 Search Based SolutionsSharePoint 2013 Search Based Solutions
SharePoint 2013 Search Based Solutions
 

Recently uploaded

Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationSlibray Presentation
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupFlorian Wilhelm
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024Scott Keck-Warren
 
Snow Chain-Integrated Tire for a Safe Drive on Winter Roads
Snow Chain-Integrated Tire for a Safe Drive on Winter RoadsSnow Chain-Integrated Tire for a Safe Drive on Winter Roads
Snow Chain-Integrated Tire for a Safe Drive on Winter RoadsHyundai Motor Group
 
Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptx
Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptxMaking_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptx
Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptxnull - The Open Security Community
 
New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024BookNet Canada
 
Build your next Gen AI Breakthrough - April 2024
Build your next Gen AI Breakthrough - April 2024Build your next Gen AI Breakthrough - April 2024
Build your next Gen AI Breakthrough - April 2024Neo4j
 
My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024The Digital Insurer
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsMark Billinghurst
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsRizwan Syed
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticscarlostorres15106
 
Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024BookNet Canada
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsAndrey Dotsenko
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationRidwan Fadjar
 
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024BookNet Canada
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Scott Keck-Warren
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesSinan KOZAK
 

Recently uploaded (20)

DMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special EditionDMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special Edition
 
The transition to renewables in India.pdf
The transition to renewables in India.pdfThe transition to renewables in India.pdf
The transition to renewables in India.pdf
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck Presentation
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project Setup
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024
 
Snow Chain-Integrated Tire for a Safe Drive on Winter Roads
Snow Chain-Integrated Tire for a Safe Drive on Winter RoadsSnow Chain-Integrated Tire for a Safe Drive on Winter Roads
Snow Chain-Integrated Tire for a Safe Drive on Winter Roads
 
Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptx
Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptxMaking_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptx
Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptx
 
New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
 
Build your next Gen AI Breakthrough - April 2024
Build your next Gen AI Breakthrough - April 2024Build your next Gen AI Breakthrough - April 2024
Build your next Gen AI Breakthrough - April 2024
 
My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR Systems
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL Certs
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
 
Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 Presentation
 
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen Frames
 
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptxE-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
 

SharePoint 2013 Search - A Developer’s Perspective - SPSSV 2013

  • 1. INTRODUCTION TO SHAREPOINT 2013 SEARCH AND CREATING DYNAMIC CONTENT MANAGEMENT SOLUTIONS Ryan McIntyre MCITP, MCPD Director, Portals & Collaboration @ryanmcintyre
  • 2.
  • 3. • SharePoint 2013 Search Overview – Changes from 2010 • Search Solutions • OOTB Web Parts Review • API – Server side – Client side • Packaging & Deployment LEAVE NOW…OR…
  • 5. Powerful Engine 2013 SEARCH INTRO FAST Index FS4SP 2010 Search 2013 Search
  • 6. 2013 SEARCH ARCHITECTURE HTTP File shares SharePoint User profiles Lotus Notes Documentum Exchange folders Custom - BCS SharePoint SP Apps Devices Non-SP UX Public API Unit of scale/role boundary
  • 7. • Content Source • Search Schema – Now available through site administration • Query Rule – Customization of returned results – Captures Intent, composed of • Query Condition • Query Action • Publishing Options CORE BUILDING BLOCKS
  • 8. • Query Transforms – Web Parts (3) – Query Rule (2) – Result Source (1) • Result Source – Scope + – Federated + • CSWP CORE BUILDING BLOCKS
  • 9. • Result Type – How to display types of results • Display Templates – CSWP – Hover Panel – Refiner – Search Results CORE BUILDING BLOCKS
  • 14. EXECUTING QUERIES: REST  Keywords  http://server/site/_api/search/query?querytext='{KQL Query}‘  Selecting Properties  http://server/site/_api/search/query?querytext='test'&selectproperties='Title,Ran k'  Sorting  http://server/site/_api/search/query?querytext='test'&sortlist='LastModifiedTime: descending'  http://server/site/_api/search/query?querytext='test'&sortlist='LastModifiedTime: descending,Rank:ascending
  • 15. EXECUTING QUERIES: REST <d:RelevantResults m:type="Microsoft.Office.Server.Search.REST.RelevantResults"> <d:RowCount m:type="Edm.Int32">16</d:RowCount> <d:Rows m:type="SP.SimpleDataTable"> <d:Rows> <d:element m:type="SP.SimpleDataRow"> <d:Cells> <d:element m:type="SP.KeyValue"> <d:Key xml:space="preserve">Rank</d:Key> <d:Value xml:space="preserve">29.4688339233398</d:Value> <d:ValueType xml:space="preserve">Edm.Decimal</d:ValueType> </d:element>
  • 16. EXECUTING QUERIES: CSOM ClientContext ctx = new ClientContext("http://sharepointonline/site"); var query = new KeywordQuery(ctx, ctx.Site); query.QueryText = "Search terms"; query.ResultTypes = ResultType.RelevantResults; query.Id = Guid.NewGuid(); var queries = new KeywordQuery[1]; queries[0] = query; SearchExecutor searchExecutor = new SearchExecutor(ctx); var rcc = searchExecutor.ExecuteQueries(queries); ctx.ExecuteQuery();
  • 18. CSWP & DISPLAY TEMPLATE DEPLOYMENT
  • 19. • <cringe>Design in UI</cringe> • Export • Visual Studio solution – Create “host” page – Add markup for CSWP from export – Properly escape „{„, „}‟, and quotes in DataProviderJSON property CSWP DEVELOPMENT & DEPLOYMENT
  • 20. • Create HTML file and verify results in UI • Export JS • Visual Studio solution – Include JS – Deploy to “_catalogs/masterpage/Display Templates/Content Web Parts” – {Optionally, deploy HTML (not JS) and programmatically update file post-deployment to generate JS} DISPLAY TEMPLATE DEVELOPMENT & DEPLOYMENT
  • 25. Join us right after the event at the Firehouse Grill! Socialize and unwind after our day of learning. 1765 E. Bayshore Road East Palo Alto, CA

Editor's Notes

  1. Introduction slide
  2. Conclusion slide
  3. SharePint