Quantcast
Channel: SharePoint Diary
Viewing all articles
Browse latest Browse all 1058

Start SharePoint Search Crawl using PowerShell

$
0
0
For some reasons, SharePoint search crawl scheduled didn't trigger. So I used this PowerShell script and Windows Task scheduler to trigger Incremental crawls.

Start SharePoint Search Full/Incremental Crawl using PowerShell:
Add-PSSnapin Microsoft.SharePoint.Powershell -ErrorAction SilentlyContinue

#Get the search service application
$SSA = Get-SPEnterpriseSearchServiceApplication -Identity "Search Service Application"

#Get the Local SharePoint sites content source
$ContentSource = $SSA | Get-SPEnterpriseSearchCrawlContentSource -Identity "Local SharePoint sites"

#Check if Crawler is not already running
if($ContentSource.CrawlState -eq "Idle")
{
Write-Host "Starting Incremental Crawl..."
$ContentSource.StartIncrementalCrawl()
#$ContentSource.StartFullCrawl();
#$ContentSource.PauseCrawl()
}
else
{
Write-Host "Another Crawl is already running!"
Write-Host "NAME: ", $ContentSource.Name, " - ", $ContentSource.CrawlStatus
}

Start Incremental Crawl in MOSS 2007 using PowerShell:

[void] [System.Reflection.Assembly]::LoadWithPartialName("Microsoft.SharePoint")
[void] [System.Reflection.Assembly]::LoadWithPartialName("Microsoft.Office.Server")
[void] [System.Reflection.Assembly]::LoadWithPartialName("Microsoft.Office.Server.Search")

$ServerContext = [Microsoft.Office.Server.ServerContext]::Default
$context = [Microsoft.Office.Server.Search.Administration.SearchContext]::GetContext($ServerContext)

$SSPContent = new-object Microsoft.Office.Server.Search.Administration.Content($context)
$SSPContentSources = $SSPContent.ContentSources

foreach ($ContentSource in $SSPContentSources)
{
if ($ContentSource.Name -eq "Local Office SharePoint Server sites")
{
Write-Host "NAME: ", $ContentSource.Name, " - ", $ContentSource.CrawlStatus
if ($ContentSource.CrawlStatus -eq [Microsoft.Office.Server.Search.Administration.CrawlStatus]::Idle)
{
Write-Host "Starting Incremental crawl"
$ContentSource.StartIncrementalCrawl();
}
else
{
Write-Host "Another Crawl is already running!"
}
}
}
This was helpful when user came with an requirement to run incremental crawl for each 15 min!

Viewing all articles
Browse latest Browse all 1058

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>