在文件列表上全文搜索

使用SQL Server 2012的FILETABLE功能处理大量Office和PDF文档,并在其上使用全文搜索功能时,我正FILETABLE处理这些问题。

我将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表上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中的Filters中看到.pdf文件类型:

SELECT *
FROM sys.fulltext_document_types

收益:

.pdf    E8978DA6-047F-4E3D-9C78-CDBE46041603    
        C:Program FilesAdobeAdobe PDF iFilter 11 for 64-bit platformsbinPDFFilter.dll    
        11.0.1.36    Adobe Systems, Inc.

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

链接地址: http://www.djcxy.com/p/55877.html

上一篇: Fulltext search on top of a filetable

下一篇: text search with PDF files in SQL Server 2008