我有一个在 Windows 8.1 x64 机器上的 SQL Server 2012 上运行的文件流表,它已经存储了一些 PDF 和 TXT 文件,所以我决定使用以下命令创建一个全文索引来搜索这些文件:
CREATE FULLTEXT CATALOG FileStreamFTSCatalog AS DEFAULT;
CREATE FULLTEXT INDEX ON storage
(FileName Language 1046, File TYPE COLUMN FileExtension Language 1046)
KEY INDEX PK__storage__3214EC077DADCE3C
ON FileStreamFTSCatalog
WITH CHANGE_TRACKING AUTO;
然后我在阅读了一些和我有同样问题的人后发送了这些命令:
EXEC sp_fulltext_service @action='load_os_resources', @value=1;
EXEC sp_fulltext_service 'verify_signature', 0;
EXEC sp_fulltext_service 'update_languages';
Exec sp_fulltext_service 'ft_timeout', 600000;
Exec sp_fulltext_service 'ism_size',@value=16;
EXEC sp_fulltext_service 'restart_all_fdhosts';
EXEC sp_help_fulltext_system_components 'filter';
reconfigure with override
我可以看到配置的 PDF IFilter
filter .pdf E8978DA6-047F-4E3D-9C78-CDBE46041603 C:\Program Files\Adobe\Adobe PDF iFilter 11 for 64-bit platforms\bin\PDFFilter.dll 11.0.1.36 Adobe Systems, Inc.
我什至可以做一个
select * from storage
where contains(*, 'data')
但它只返回索引的 TXT 文件,所以我想知道:我还需要做些什么来开始索引我的 PDF 吗?或者是否有必要创建另一个表并重新插入我已经存储的所有这些 PDF,即使 TXT 文件正在索引 justfined?
更新 1:
打开 SQLFTXXX.LOG 我收到此消息(针对 FileTable):
2014-08-20 06:32:09.48 spid29s Warning: No appropriate filter was found during full-text index population for table or indexed view '[text_storage].[dbo].[storage_table]' (table or indexed view ID '355584405', database ID '7'), full-text key value '篰磧'. Some columns of the row were not indexed.
还有这个(对于 FileStream 表):
2014-08-19 22:14:50.58 spid20s Warning: No appropriate filter was found during full-text index population for table or indexed view '[text_storage].[dbo].[storage]' (table or indexed view ID '674101442', database ID '7'), full-text key value '1797'. Some columns of the row were not indexed.
最佳答案
我遇到了同样的问题。我在 SQL Server 2012 Standard 上有一个文件流表,其中填充了 PDF。我下载了 Adobe 的 iFilter 11 并在 PDF 上创建了全文索引。我无法使其在生产中工作——文件流表已填充,但全文搜索没有,日志中出现此错误:(SQL Server 日志文件夹,SQLFTxxxxx.LOG): 警告:在为表或索引 View 填充全文索引期间未找到合适的过滤器
事实证明,文件上的存档位已设置为打开。当我关闭它时,全文搜索会填充并且搜索开始工作。
希望这对其他人有帮助。此外,如果您了解它为何以这种方式工作,请告诉我们。从研究存档位来看,它似乎表明该文件是新文件或已更改并且需要备份。谢谢!
关于sql-server - 全文索引未从 pdf 文件流返回任何结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25388250/