Samstag, 5. September 2015

SharePoint 2016 BETA Search – a first look under the hood

PowerShell for SharePoint Search

Installing and configuration using PowerShell works similar to SharePoint 2013. You can use the same cmdlets and scripts as in SharePoint 2013.
Even if you not created a Cloud SSA as part of “Cloud Hybrid Search Preview for SharePoint Server 2013 and 2016” cloud and hybrid topics can be found everywhere.
For example I checked some new parameter within Get-SPEnterpriseSearchServiceApplication:
$sa = Get-SPEnterpriseSearchServiceApplication
$sa.CloudIndex
$sa = Get-SPEnterpriseSearchServiceApplication
$sa.QueryGraph
There is also another interesting information when we have a detailed look at the search topology. As you can see for every component we have a status information “ExperimentalComponent”. This can give us an information whether “Cloud Hybrid Search Preview for SharePoint Server 2013 and 2016” is configured or not.

SharePoint 2016 BETA Ceres – a first look

The Ceres shell is:

  • -          a set of PowerShell cmdlets.
  • -          It allow to control the internal workings of SharePoint Server search.
  • -          It is taken over from the FAST search engine
  • -          We can use it to tweak the search engine inner working
  • -          modifying the settings can completely crash SharePoint Search
  • -          it is part of SharePoint since SharePoint 2013
Manipulations are not for production use, nor supported by Microsoft – but, it can get us a better understanding of what is going on under the hood. If you are interested in further information about the Ceres have a look here: SharePoint 2013 Search internals: The Ceres shell.

Bevor we can use the cmdlets we need to set up PowerShell and connect to the Ceres:
  • cd "C:\Program Files\Microsoft Office Servers\16.0\Search\Scripts\"
  • .\ceresshell.ps1
  • Connect-System –Uri (Get-SPEnterpriseSearchServiceApplication).SystemManagerLocations[0] -ServiceIdentity (Get-SPEnterpriseSearchService).ProcessIdentity
  • Connect-Engine
  • Connect-AnalysisEngine -NodeName AdminComponent1

To get an overview of all available cmdlets use this:
Get-Command -Module analysisenginepssnapin
Comparing this overview to SharePoint 2013 we see new commands:
  • -           Get-AnalysisEngineIsPaused
  • -           Get-AnalysisEngineWorker
  • -           Register-Analysis
  • -           Unregister-Analysis

Actually no further information or documentation is available for this new cmdlets.
Using the get-analysis cmdlet we get an overview for all Analytics component SearchAnalytics, UsageAnalytics and SearchReports. If you are interested in further information about the Analytics components in SharePoint 2013 have a look here: PowerShell for SharePoint 2013 Analytics Feature
In SharePoint 2016 BETA we have a new Analytics component called “LinksStoreInput”
This new component also results in a new subfolder within the Office Server Analytics directory:
Actually no further information or documentation is available about this new component. Based on the name we only can suppose what it is doing.

Get-Flow

Get-flow is about the definition of “what” is happening in the Search internals. Manipulations are not for production use, nor supported by Microsoft. The Content Enrichment Web Service is the primary documented and supported mechanism for implementing "custom" processing logic in SharePoint Search – but, it can get us a better understanding of what is going on under the hood and what is new in SharePoint 2016 Search.
Using the get-flow cmdlet results in an overview showing all flows.
In SharePoint 2016 BETA the following FLOWS are new:
-           Microsoft.ContentPushFlow
-           Microsoft.ContentPushHybridFlow
-           Microsoft.ConversationalLatencyFlow
-           Microsoft.PropertyRetrievalSearchFlow
-           Microsoft.SearchAnalyticsBuzzFeederFlow
-           Microsoft.SearchAnalyticsBuzzInputFlow
-           Microsoft.SearchAnalyticsBuzzImportFlow
-           Microsoft.SearchAnalyticsBuzzOutputFlow
-           Microsoft.SearchAnalyticsExternalContentMapFlow
-           Microsoft.SearchAnalyticsExternalContentPushFlow
-           Microsoft.SearchAnalyticsFollowsImportFlow
-           Microsoft.SearchAnalyticsFollowsInputFlow
-           Microsoft.SearchAnalyticsGraphIndexFeederFlow
-           Microsoft.SearchAnalyticsInFeedInputFlow
-           Microsoft.SearchAnalyticsTagsImportFlow
-           Microsoft.SearchAnalyticsTagsInputFlow
-           Microsoft.SignalStoreInputFlow
-           Microsoft.UsageAnalyticsImportFlow
-           Microsoft.DocumentPreviewMetadataFeederFlow
-           Microsoft.PeopleSuggestionDictionaryDeploymentFlow
-           Microsoft.QueryCompletionPeopleOutputFlow
-           Microsoft.QueryCompletionPersonalizedQueryLogsOutputFlow
-           Microsoft.QueryCompletionPreFetchOutputFlow
-           Microsoft.QueryCompletionQueryLogsInputFlow
-           Microsoft.QueryCompletionQueryLogsOutputFlow
-           Microsoft.CrawlerPropertyReportingSubFlow
-           Microsoft.CrawlerSecurityInsertHybridSubFlow
-           Microsoft.ExplorerFlow
-           Microsoft.GraphSearchProviderFlow
-           Microsoft.QuerySuggestionsQueryLogsFlow
-           Microsoft.DeleteTenantFromIndexSystemFlow
-           Microsoft.IndexingSubFlow
-           Microsoft.DataLossPreventionSubFlow

This can give us an overview of what has changed and what is new in SharePoint 2016 Search. So the main topics based on this get-flow list are:
  • -          Content Push
  • -          External Content Push
  • -          Graph Index Feeder
  • -          Graph Search Provider
  • -          Signal Store Input Flow
  • -          Crawler Security Insert Hybrid Flow
  • -          Data Loss Prevention

If you interested in a deeper look in what’s going on in a flow you can use this cmdlet:
get-flow %flow name%

Roundup:

Cloud-awareness can be found everywhere in SharePoint 2016 Search, even if no Cloud SSA is configured.
New features in SharePoint 2016 Search will be:
  • -          Content Push
  • -          External Content Push
  • -          Office Graph interactions
  • -          Hybrid Crawler
  • -          Data Loss Prevention support