I was recently trying to export a list of SharePoint Crawk Logs in to an Excel format so that I could use them to locate potential defects in a large selection of Team Sites during a 2007 -> 2010 migration project.

I wanted to exclude certain crawl log statuses (such as success, delete, etc) but I wasn't sure what Error IDs to exlude.

I got an output of the crawl item IDs using the following powershell script:


$ssa = Get-SPEnterpriseSearchServiceApplication | Where-Object {$_.Name -eq "QA TEAMSITES Search Service"} 
$ssaContent = new-object Microsoft.Office.Server.Search.Administration.Content($ssa)

$logViewer = New-Object Microsoft.Office.Server.Search.Administration.Logviewer $ssa 
$ErrorList = $logViewer.GetAllStatusMessages()

Foreach ($errorId in $ErrorList) 
{ 
    "" + $errorId.errorId + " - " + $errorId.ErrorMsg; 
}

This provided me with the following table:

ErrorIDErrorMsg
0 Crawled
2 Deleted by the gatherer
3 Item not crawled due to one of the following reasons: Preventive crawl rule; Specified content source hops/depth exceeded; URL has query string parameter; Required protocol handler not found; Preventive robots directive.
5 The filtering process could not load the item. This is possibly caused by an unrecognized item format or item corruption.
6 This item comprises multiple parts and/or may have attachments. Not all of these parts were indexed. They may either be invalid or deliberately skipped (e.g. images). The remote server may also have been unresponsive while indexing these parts.
7 The content for this address was excluded by the crawler because this item was marked with a no-index meta-tag. To index this item, remove the meta-tag and recrawl.
14 The file reached the maximum download limit. Check that the full text of the document can be meaningfully crawled.
15 This item and all items under it will not be crawled because the owner has set the NoCrawl flag to prevent it from being searchable
116 The document was too large to filter in its entirety.  Portions of the document were not emitted.
176 Unable to access object.
182 The document format is not recognized by the filter.
324 The item may be too large or corrupt. You may also verify that you have the latest version of this IFilter.
356 The filtering was stopped because of a user action, such as stopping the crawl. 
377 This item could not be crawled because the repository did not respond within the specified timeout period. Try to crawl the repository at a later time, or increase the timeout value on the Proxy and Timeout page in search administration. You might also want to crawl this repository during off-peak usage times.
415 The filtering process has been terminated
585 The filtering process could not be initialized when trying to process this item. Verify that the file extension is a known type and the item is not corrupt.
596 Error in the Microsoft SharePoint Foundation Protocol Handler.
599 The SharePoint item being crawled returned an error when requesting data from the web service.
736 The SharePoint item being crawled returned an error when attempting to download the item.
745 The object was not found.
748 Access is denied. Verify that either the Default Content Access Account has access to this repository, or add a crawl rule to crawl this repository. If the repository being crawled is a SharePoint repository, verify that the account you are using has "Full Read" permissions on the SharePoint Web Application being crawled.
751 The item could not be accessed on the remote server because its address has an invalid syntax.
757 The filename or extension is too long.
760 The docfile has been corrupted.
761 The parameter is incorrect.
773 One of the fields on the SharePoint List does not exist or has become corrupt.

This table is by no means complete.  Please email / tweet (@MarkStokes) me any other status codes you are aware of and I will add them to the list.