5

我有 SQL Server 2008 R2 并试图在 PDF BLOB 上实现全文搜索。

我已从 Adob​​e 安装 iFilter 并确认已安装

使用

EXEC sp_help_fulltext_system_components 'filter';

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 Adob​​e Systems, Inc.

然后,我为 FT 索引创建了全文目录并创建了 FT 索引

CREATE FULLTEXT INDEX ON Compliance_Updates
( 
FileDesc
 Language 1033,
 FileData
   TYPE COLUMN FileDataType
) 
 KEY INDEX PK_Compliance_Updates
     ON FT_Compliance_Updates; 

然后,在向表中添加一些 PDF 后,我强制重建索引。指数显示..

目录大小:0MB
项目数:2
唯一密钥数:7
名称:FT_Compliance_Updates
最后填充日期:2013 年 12 月 11 日 09:36填充
状态:空闲

但是,当我执行以下搜索时,我得到零结果......

SELECT FileID, FileDesc, PubDate 
FROM Compliance_Updates 
WHERE CONTAINS(FileData, 'mortgage')

我试过删除目录,删除所有表记录和索引(包括 PK),重新运行 iFilter 安装

exec sp_fulltext_service 'load_os_resources', 1;
exec sp_fulltext_service 'verify_signature', 0;

重新启动 SQL Server,重新创建索引和 FT 目录,似乎没有任何效果?

4

4 回答 4

4

11.x 版对我也不起作用。9.x 工作 :) 在 Adob​​e 的网站上很难找到 9.x 64 位。但在 FTP 上,您可以在这里找到它:ftp: //ftp.adobe.com/pub/adobe/acrobat/win/9.x/

于 2014-11-27T10:30:27.780 回答
4
  • 11.x 版对我不起作用,但 9.x 版起作用了。
  • 此外,您还需要C:\Program Files\Adobe\Adobe PDF iFilter 9 for 64-bit platforms\bin\在系统的 PATH 变量的末尾添加。开始 > 控制面板 > 系统 > 高级环境变量 -> 系统变量 -> 找到 PATH
于 2014-03-10T07:09:30.863 回答
3

iFilter 通常可以工作,但在某些机器上却不能。我在工作中成功安装了它,但我的个人笔记本电脑失败了。您可以尝试以下方法:

  • 使用不带空格、国家字符的短路径安装 iFilter 并使其简短。
  • 授予所有用户对安装 iFilter 的目录的完全访问权限。当你让它工作时,你可以逐渐限制访问。
  • 确保将 iFilter bin 路径添加到 SYSTEM 路径而不是 USER 路径。

视频录制的步骤可以在这里找到 - https://dba-presents.com/index.php/databases/sql-server/48-full-text-search-with-pdf-documents-in-sql-server-2014

于 2015-07-09T20:27:47.627 回答
2

FWIW,即使使用 SQL Server 2014,我也无法让 11.x 版正常工作,因此从上面提供的 FTP 链接下载了 9.x 版。9.x 版似乎仍然是要走的路,因为它也对我有用!:^)

于 2015-06-17T17:29:31.677 回答