在SQL Server 2008中使用PDF文件进行全文搜索

5 pdf full-text-search sql-server-2008

我有SQL Server 2008 R2,我正在尝试在PDF BLOB上实现全文搜索.

我已经从Adobe安装了iFilter并确认已安装

运用

EXEC sp_help_fulltext_system_components 'filter';
Run Code Online (Sandbox Code Playgroud)

过滤器.pdf E8978DA6-047F-4E3D-9C78-CDBE46041603
C:\ Program Files\Adob​​e\Adob​​e 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; 
Run Code Online (Sandbox Code Playgroud)

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

目录大小:0MB
项目数:2
唯一钥匙数:7
姓名:FT_Compliance_Updates
最后一页人口日期:12/11/2013 09:36
人口状况:空闲

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

SELECT FileID, FileDesc, PubDate 
FROM Compliance_Updates 
WHERE CONTAINS(FileData, 'mortgage')
Run Code Online (Sandbox Code Playgroud)

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

exec sp_fulltext_service 'load_os_resources', 1;
exec sp_fulltext_service 'verify_signature', 0;
Run Code Online (Sandbox Code Playgroud)

重新启动SQL Server,重新创建索引和FT目录,似乎什么都没有用?

Vah*_*idN 4

  • 11.x 版本不适合我,但 9.x 版本可以。
  • 此外,您还需要C:\Program Files\Adobe\Adobe PDF iFilter 9 for 64-bit platforms\bin\在系统 PATH 变量的末尾添加。开始 > 控制面板 > 系统 > 高级环境变量 -> 系统变量 -> 查找 PATH