Search code examples
sql-server-2016full-text-indexing

SQL Server 2016 Full-Text Indexing: What constitutes a change?


Using SQL Server 2016. I have a Full-Text catalog using the Adobe iFilter for PDF-crawling (version 11). I had an issue where the PDF filter was not working which I resolved by setting the PATH environment variable. Automatic Change Tracking enabled.

Now new changes to PDF documents in my indexed table are being indexed. But there are a large number of rows that are not properly indexed. A rebuild will likely take multiple days

Is the only way to get those rows scraped and indexed to rebuild the entire catalog? Or is there any way I can trigger a "change" to the unindexed rows to get them indexed? Would deleting a row and reinserting it be a viable solution? Trying to find out what constitutes a "change" for the automatic change tracking.


Solution

  • You can trigger a document to be re-indexed with a simple UPDATE statement. Just set the column equal to itself.

    UPDATE myDocs SET fileContents = fileContents;
    

    Depending on the volume of data, you may need to split the query into batches.