Full-Text Indexing Performance Slow Due to Filtering Process

The Microsoft Full-Text Engine for SQL Server (MSFTESQL) service uses two types of filters when populating a full-text index, multithreaded filters and single threaded filters. Microsoft Word documents, for example, are filtered using a multithreaded filter. Adobe Acrobat Portable Document Format (PDF) documents, on the other hand, are filtered using a single threaded filter.

When a PDF document, for example, is embedded within another document, say a Word document, and the MSFTESQL service encounters such embedded documents, it launches the filter for the embedded document. In this case, the MSFTESQL service launches a single threaded filter, for PDF, while in a multithreaded filtering process, for the Word document. The PDF single-threaded filter might not work well in this environment. This does not always lead to a destabilization of the filtering process; however, in certain circumstances, where such embedding is common, it may lead to filtering process crashes. When this occurs, the MSFTESQL service re-routs the failed document to the single threaded filtering process. If this occurs frequently, it results in performance degradation of the full-text indexing process.

To work around this problem, you must mark the filter for the container document (Word in this case) as a single threaded filter. You can change filter registry value to mark a given filter as a single thread filter.

See Also

Concepts

Full-Text Search Filters

Other Resources

Troubleshooting Full-Text Search

Help and Information

Getting SQL Server 2005 Assistance