Я храню двоичные файлы документов (в основном файлы PDF) в базе данных SQL Server и использую Acrobat IFilter и полнотекстовое индексирование, чтобы сделать содержимое файлов доступным для поиска.
Однако некоторые из этих PDF-файлов были отсканированы с помощью действительно дешевого программного обеспечения, которое не выполняло оптическое распознавание символов, и представляют собой изображения документов, а не настоящие документы с текстом, доступным для поиска. Я хотел бы определить, какие записи в базе данных не имеют текста для поиска, чтобы их можно было распознать и повторно загрузить.
Я могу получить идентификаторы документов, которые имеют хотя бы одну полнотекстовую запись, используя sys.dm_fts_index_keywords_By_Document
. Я попытался объединить отдельный список идентификаторов с таблицей документов, чтобы найти записи, которые не совпадают, но это оказалось невероятно медленным — у меня около 20 000 документов (несколько сотен страниц), и запрос выполнялся более 20 раз. минут, прежде чем я отменил его.
Есть лучший способ это сделать?