【发布时间】:2014-07-28 23:26:47
【问题描述】:
我将文档二进制文件(主要是 PDF 文件)存储在 SQL Server 数据库中,并使用 Acrobat IFilter 和全文索引来使文件的内容可搜索。
但是,其中一些 PDF 是使用不执行 OCR 的非常便宜的软件扫描的,并且是文档的图像,而不是带有可搜索文本的正确文档。我想确定数据库中的哪些记录没有可搜索的文本,以便可以对它们进行 OCRed 并重新上传。
我可以通过使用sys.dm_fts_index_keywords_By_Document 获得确实至少有一个全文条目的文档ID。我尝试将不同的 ID 列表与文档表连接起来以查找不匹配的记录,但这结果非常慢——我有大约 20,000 个文档(大约数百页)并且查询运行了 20 多个在我取消之前的几分钟。
有没有更好的方法来做到这一点?
【问题讨论】:
-
我经历了这个,找不到更好的答案...我的记录集没有那么大,但仍然需要一些时间。执行并离开一天...我建议将其作为插入语句执行,以便将所有行转储到您可以稍后调用的表中。奖金指向任何对此有答案的人。
-
我目前没有连接到合适的数据库,但我经常发现我可以为 ms 提供的 proc 等提取 sql 代码。也许如果你这样做,你可以确定一个运行速度更快的完整查询的有用子集。
-
只记得我可以 RDP 到合适的机器。 sys.dm_fts_index_keywords_By_Document 在主、系统、表值函数下,但这不能导出到创建函数脚本,所以那里没有帮助..
标签: sql-server full-text-indexing