SQL Server 2012 - 在文件表之上进行全文搜索 - 未搜索PDF

时间:2016-01-25 13:06:46

标签: pdf sql-server-2012 full-text-search full-text-indexing ifilter

通过SQL Server 2012的FILETABLE功能处理大量Office和PDF文档,并在其上使用全文搜索,我已经不知所措了。

我已经将我的SQL Server配置为支持全文搜索和文件流,并且我创建了一个FILETABLE,将所有类型的800多个文档转储到该文件夹​​中,并且一切正常。

为了能够使用全文索引MS Office文档,我安装了MS Filter Pack 2.0,为了处理PDF文件,我已经下载了Adobe的iFilter for PDF并安装了所有文件。

现在我已经创建了一个全文目录:

CREATE FULLTEXT CATALOG DocumentCatalog
WITH ACCENT_SENSITIVITY = OFF

然后是FILETABLE表上的全文索引:

CREATE FULLTEXT INDEX 
ON dbo.Documents(name, file_type, file_stream)
KEY INDEX [PK_Document]
ON DocumentCatalog

而且一切似乎都很好。过了一会儿,填充我拥有的800多份文件,我就可以开始搜索了:

SELECT 
    stream_id, name, file_type, cached_file_size, 
    file_stream.GetFileNamespacePath(1)
FROM 
    dbo.Documents
WHERE
    CONTAINS(*, 'Silverlight')

和MS Office文档(*.doc, *.docx, *.ppt, *.pptx, *.xls, *.xlsx)中包含的内容非常好 - 而且很快。

不幸的是,似乎找不到PDF文件中的任何文字:-(

任何想法为什么?我在安装过程中没有出错,一切似乎都很好 - 我可以在SQL Server的.pdf中看到Filters文件类型:

SELECT *
FROM sys.fulltext_document_types

返回:

.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.

但不知何故,这些PDF似乎没有编入索引。我是否可以找出实际编入索引的文件,以及人口中是否存在错误?我在哪里可以找到这些信息?

1 个答案:

答案 0 :(得分:0)

相关问题