Pro Yearly is on sale from $80 to $50! »

Implementing SharePoint hybrid search

Implementing SharePoint hybrid search


Thomas Vochten

November 17, 2017


  1. Implementing SharePoint hybrid search SPS Oslo 2017 Thomas Vochten

  2. Sponsors Platinum Gold Silver Bronze Prizes & Prizes

  3. None
  4. Thomas Vochten SharePoint architect. Microsoft MVP. Speaker. Trainer. Involuntary DBA.

  5. Agenda 1 | Introducing Hybrid Search 2 | Setup &

    Configuration 3 | Tips, Tricks & Considerations 4 | Architecture 5 | Additional use cases
  6. Introducing Hybrid Search

  7. Query Federation • Separate result blocks • Maximum 10 results

    • Without ranking and relevance integration • No refiners • Complex for inbound scenario’s • Still working and 100% supported! • Tip: Will work after hybrid configuration wizard has been run
  8. Cloud Hybrid Search • Single unified index - in the

    cloud • Crawling is done on-premises • True relevance ranking and refiners • Supports all existing on-premises content sources
  9. Query Federation vs Cloud Hybrid Search Cloud Hybrid Search Federated

  10. Search Experience

  11. Setup & Configuration

  12. Minimum Requirements for Hybrid • Decent internet connectivity • Office

    365 Enterprise subscriptions • SharePoint Server 2013/2016 • Identity Synchronization in place • SharePoint Admin account for on-premises • Tenant Admin account for Office 365 • Required service applications • App Management Service • Subscription Settings Service • User Profile Service
  13. Additional Prerequisites for Search •Microsoft Online Services Sign-In Assistant •Azure

    Active Directory Module for Windows PowerShell (MSOnline) Caution Hybrid search only works with Windows Authentication!
  14. Which version of SharePoint? Table inspired by work by Nico

    Martens SP 2013 SP 2016 Federated hybrid search RTM RTM Cloud hybrid search 01/2016 CU RTM Hybrid app launcher 07/2016 CU RTM Hybrid OneDrive & Profiles 09/2015 CU RTM Hybrid Sites 07/2016 CU RTM Hybrid Taxonomy 11/2016 CU FP1 (11/2016 CU) Hybrid Auditing (preview) N/A FP1 (11/2016 CU) Hybrid self service site creation 03/2017 CU N/A Table inspired by TechNet and work by @MartensNico ☺
  15. Setup Approach PowerShell Wizard New

  16. PowerShell to the rescue Step 1 - Create a new

    search service application Step 2 - Run the onboarding script
  17. Run the onboarding script Also sets the IsHybrid property to

    initialize the AzurePlugin Get the script at:
  18. Create your service application Disables the normal ContentPlugin

  19. Hybrid Configuration Wizards

  20. None
  21. None
  22. None
  23. None
  24. None
  25. None
  26. None
  27. Setup Approach • Initial configuration (PowerShell or Wizard) • Start

    a full crawl… and wait • Test your search in online • On-Premises: create a result source(s) pointing to SPO • Test your search in on-premises
  28. Start a crawl

  29. On-Prem: Configure default result source

  30. On-Prem: Configure default result source

  31. Search away!

  32. Under the covers

  33. Under the covers On-Premises cmdlets: Get-SPTrustedSecurityTokenIssuer Get-SPTrustedRootAuthority Azure cmdlets: Get-MsolServicePrincipal

  34. What about my search topology?

  35. Demo Environment Machine Purpose DC01 Domain Controller & Identity Synchronization

    SQL01 SQL Server 2016 for SharePoint databases SP01 SharePoint Server 2016 environment (standalone) OOS01 Office Online Server 2016 CL01 Windows 10 client with Office 365 ProPlus All servers are running Windows Server 2016 Datacenter
  36. Demo Setup & Configuration

  37. Tips, Tricks & Considerations

  38. Tip | IsExternal managed property All on-premises content is tagged

    with a new managed property: IsExternalContent
  39. Tip | Result sources & search verticals {searchTerms} (IsExternalContent:1) {searchTerms}

    ((IsExternalContent:1) AND Path:"file://archive")
  40. Tip | People Search Decide which user store you want

    to query: • On-Premises {?{searchTerms} ContentClass=urn:content-class:SPSPeople IsExternalcontent:1} • SharePoint Online {?{searchTerms} ContentClass=urn:content-class:SPSPeople IsExternalcontent:0}
  41. Tip | People Search SPO profile pictures don’t render on-premises

    by default $wa = Get-SPWebapplication “Your Webapp” $wa.CrossDomainPhotosEnabled = $true $wa.Update()
  42. Tip | Use a Display Template in SPO Highlight on-premises

    content with a special icon Developed by Elio Struyf
  43. Demo People Search IsExternalContent Display Templates

  44. Tip | Document search previews Reverse proxy is required SPO

    will reach out to the internet-exposed endpoint to show previews
  45. Tip | Index Reset • Clear the content source •

    Perform a full crawl • Index will be emptied Or… use a script!
  46. Tip | Logging Boost your logging levels in case of

    problems with the Azure Plugin SharePoint Server Search Crawler:Azure Plugin
  47. Tip | Crawl performance $ssa = Get-SPEnterpriseSearchServiceApplication $ssa.SetProperty("EnableNoGetStatusFlight",1) $ssa.Update() Suspend-SPEnterpriseSearchServiceApplication

    $ssa Restart all search services… Resume-SPEnterpriseSearchServiceApplication $ssa Slow upload? Getting throttled by Azure?
  48. Limitations • Limited customization options No entity extraction No content

    enrichment (announced) No custom security trimming No custom ifilters No real Delve integration … • No internet, no search (be aware of proxy servers) • Central administration integration • No dashboard of your online index search health
  49. What about the cost? Hybrid search is free, …kind of

    1 million on-premises items per 1 TB of pooled storage in SPO
  50. Caution! Enabling hybrid features can break • Provider hosted add-ins

    • Workflow Manager trust Always use the latest scripts & wizards provided by MSFT! Workaround: configure hybrid first, or re-establish trusts
  51. Architecture

  52. Crawl Architecture

  53. Search Connector Service • Man in the middle, hosted in

    Azure • Trust creation on-premises and the SCS • SCS routes data to the search index in the tenant • Flexibility for refeeding in case of DR or design changes • Holds ACL, keywords, metadata, tenant info, analytics
  54. Query Architecture

  55. None
  56. Security and Identity SID S-1-5-21-1212121212- 1212121212-1212 msOnline-OnPremiseSecurity Identifier S-1-5-21-1212121212-1212121212-1212

  57. Additional Use Cases

  58. Distributed farms

  59. Distributed farms connected to single tenant Unified index: SharePoint Online

    & On-Premises Office 365 Tenant Amsterdam SharePoint Farm San Francisco SharePoint Farm Jakarta SharePoint Farm …. SharePoint Farm
  60. Hybrid Search - Takeaways • Unified search index in SharePoint

    Online • Crawl in on-premises, index lives in the cloud • Creation of a new search service application is mandatory • Be aware of your dependencies (e.g. add-ins, workflow mgr) • It’s free up to 1 million on-prem items • No internet connection, no search
  61. Bonus | eBook Fundamental resource if you’re thinking about implementing

  62. @thomasvochten

  63. Help us do better next time… Session Evaluation Event

    Evaluation 11.11.2017 SharePoint Saturday Oslo 2017