When I first started working on SharePoint Search I was troubled by how hard it was to figure out what was actually happening when the crawl was running. The crawler/indexer is a black box that I could not see into. This made it very challenging when I would open the crawl logs and see a cryptic error message. (Often the cryptic message is not the fault of SharePoint Search, the log is just bubbling the error up, often from the iFilter.) Here are two approaches that I use to troubleshoot specific errors. The first is a tool for troubleshooting iFilters the second for watching the actual crawl activity.
The SharePoint Indexer uses special assemblies called iFilters to open files and extract the metadata and plain text during the indexing process. The filters for many common file types are installed by default when the SharePoint Prerequisite Installer runs. Additional iFilters can also be purchased from dealers like Foxit Software and the IFilter Shop. Recently I was troubleshooting an issue where a client was seeing errors in their crawl logs for PDF files. They had installed and licensed the PDF iFilter from Foxit Software. Running the crawl caused the error “Error loading IFilter: E_INVALIDARG” to appear for every PDF file. This is how we determined the root cause.
Download and run IFilter View from IFilter Shop http://ifiltershop.com/downloads/IFilterView.zip. You have to run this tool on the SharePoint box that is running the index process. This tool loads the iFIlter for the files that you are troubleshooting.
Select the file that you are having trouble with by choosing File | Open. In my case I chose a PDF file. If the file is in SharePoint, simply copy it to the desktop of the server for troubleshooting.
If the file loads properly, the issue is with SharePoint. If the file fails to load, the issue is with the iFilter. In our case we saw the identical error. To us this indicated an issue with the iFilter.
It turns out that the license key file was improperly deployed. Once we determined that with the help of the folks at Foxit Software we reran IFilter View and got the results we expected.
IFilter View is also very handy for determining the names of Crawled Properties returned by the iFilter. I detail this process in the post [Troubleshooting iFilters and Crawled Properties] (/blog/archive/2011/09/28/troubleshooting-ifilters-and-crawled-properties/)
Ready to start your next project with us? That’s great! Give us a call or send us an email and we will get back to you as soon as possible!