SharePoint Online Search Performance plays a crucial role in retrieving relevant content quickly. Poor search performance can result from large datasets, missing metadata, outdated search indexes, or inefficient query rules.
Using PnP PowerShell, we can optimize search by:
Managing search indexes
Creating query rules
Improving search schema
Refining search results
Step 1: Connect to SharePoint Online
To optimize SharePoint search, first, connect to your site.
$siteUrl = "https://yourtenant.sharepoint.com/sites/YourSite"
Connect-PnPOnline -Url $siteUrl -Interactive
β Ensures secure authentication.
Step 2: Check Search Index Status
Before optimizing, check if content is being properly indexed.
Get-PnPSearchCrawlLog -StartDate (Get-Date).AddDays(-7) -EndDate (Get-Date)
β Shows indexed items and crawl errors.
Step 3: Reindex a SharePoint List or Library
If search isnβt picking up new content, force a reindex.
Set-PnPList -Identity "Documents" -NoCrawl $false
Write-Host "π Reindex triggered for Documents library"
β Ensures new content appears in search.
Step 4: Remove Unwanted Content from Search
To prevent unwanted data from appearing in search, exclude a list:
Set-PnPList -Identity "OldRecords" -NoCrawl $true
Write-Host "π« OldRecords library is now excluded from search results"
β Helps improve search relevance.
Step 5: Optimize Search Schema
Improve search by mapping managed properties.
Add-PnPSearchManagedProperty -Name "CustomMetadata" -Type Text -Retrievable
Write-Host " CustomMetadata added to search schema"
β Enhances metadata-based filtering.
Step 6: Create Search Query Rules
Boost certain results by creating a query rule.
Add-PnPSearchQueryRule -Name "Promote HR Documents" -Query "HR Policies" -PromotedResultTitle "HR Portal" -PromotedResultUrl "https://yourtenant.sharepoint.com/sites/HR"
Write-Host "π― HR search query rule added"
β Improves search ranking.
Step 7: Increase Search Query Speed
Reduce search latency by enabling FAST search results.
Set-PnPSearchConfiguration -Identity "SiteSearch" -Configuration @"
{
"EnableQueryRules": true,
"EnableSummaries": true
}
"@
Write-Host "β‘ Search query optimization applied"
β Speeds up search response times.
Step 8: Schedule Regular Search Index Resets
To clear outdated data, reset the search index.
Submit-PnPSearchQuery -Query "*"
Write-Host "π Search index refreshed"
β Prevents stale results.
Step 9: Automate Search Optimization (Optional)
Run the optimization script weekly via Task Scheduler:
1οΈβ£ Save script as OptimizeSearch.ps1
2οΈβ£ Open Task Scheduler β Create Task
3οΈβ£ Trigger β Weekly
4οΈβ£ Action β Start program β powershell.exe -File C:\Scripts\OptimizeSearch.ps1
5οΈβ£ Ensure script execution policy:
Set-ExecutionPolicy RemoteSigned -Scope CurrentUser
β Keeps search performance optimized automatically.