问题标签 [ifilter]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
2115 浏览

c# - 加载没有注册表的 IFilter

所以我被告知我可能无法访问通常将其 IFilter 加载到系统上的注册表或程序,因此我必须在应用程序中包含 IFilter dll 并直接从那里加载它们。我目前正在使用 CodeProject 的 C# IFilter 类,但是当涉及到 filterPersistClass、persistentHandlerClass 和 COM 时,它们仍然是我头疼的一些事情,因此我对如何让它工作有点迷茫。

我已经完成了所有平凡的事情,例如获取 dll,使用“扩展,DLL 路径”设置资源文件等等,但似乎无法掌握现在如何加载 IFilter DLL。也许我应该从头开始,但我想我会先寻求帮助。

编辑(部分解决方案)

好吧,我想出了如何在 FilterReader.cs 的 FilterReader 构造函数中使用下面的代码来加载 query.dll,尽管我现在在加载 PDFFilter.dll 文件时遇到了问题并且收到以下错误:

在 DLL 'C:\Program Files\Adobe\Adobe PDF iFilter 9 for 64-bit platforms\bin\PDFFilter.dll' 中找不到名为“LoadIFilter”的入口点

我认为我现在遇到的问题是 PDFFilter.dll 使用 STA 而 C# 应用程序是 MTA。

0 投票
2 回答
4035 浏览

c# - IFilter 更换

我目前正在使用 IFilters 从各种文件(word、excel、tiff、pdf 等)中提取文本。我了解 IFilters 已在 Windows 8 中停止使用。是否有人对如何在不安装本机应用程序的情况下提取文本有任何建议?如果有任何用处,我正在使用 C# 和 .Net 4

0 投票
1 回答
1292 浏览

c# - 32 位机器中的 Adob​​e PDF IFilter

我正在PDF使用 PDF IFilter 6.0 为应用程序中的文件编制索引,但出现以下异常:

我正在使用 Win 7 32 位机器。PDF IFilter 是否适用于 Win 7?

我的应用程序是多线程的,Ifilter 是否适用于多线程?我也尝试过使用STAThread但得到了同样的例外。还尝试在实例化阅读器时加锁,但没有加锁。

0 投票
3 回答
2339 浏览

c# - 使用 Lucene.NET 索引全文文档是否需要 IFilter

我正在我的项目中前进,并来到处理文件内容的十字路口。我已经成功创建了一个包含一些分类字段的工作索引,但我知道希望将关键字搜索应用于文件内容。我的问题是我不确定将 lucene 传递给阅读器是否会转换为索引整个文件内容的 API。我在网上做了一些搜索,发现需要 IFilter 的建议是真的吗?似乎有些复杂。无论如何,我用于索引文件内容的代码在下面并且不起作用(如果通过阅读器,它会失败)。理想情况下,我希望能够处理 doc 和 docx 文件。任何帮助深表感谢。

我的代码创建阅读器

我将文档添加到索引的代码

0 投票
1 回答
985 浏览

sql-server - SQL Server 2008 R2(64 位)-Service Pack 2 - UC5 找不到 Adob​​e 的 iFilter 11.0

重建包含存储 PDF 表的目录时出现以下错误(它适用于 Word 文档)。

警告:在为表或索引视图“[Test].[dbo].[Table_1]”(表或索引视图 ID 为“2105058535”,数据库 ID 为“6”)进行全文索引填充期间未找到合适的过滤器,完整-文本键值“911”。该行的某些列未编入索引。

我按照 Adob​​e 的安装程序运行了以下命令:

最后一个确实返回正确的过滤器路径:

我已经添加了路径C:\Program Files\Adobe\Adobe PDF iFilter 11 for 64-bit platforms\bin\并验证它是否有效。

我已经重新启动了服务(甚至重新启动了机器)。我还通过运行 Windows SDK 附带的 filtdump.exe 进行了验证,以验证过滤器在 SQL Server 2008 R2 之外是否可以正常工作。

此外,我还重新配置了 sql server 服务,以便它们使用管理员帐户运行(以防问题与权限有关)。

最后,我尝试了几台机器(一些使用 SP1 运行)并且结果相同。注册 DLL 没有问题... SQL Server 根本不调用过滤器。请注意,我尝试将文档上传到具有“未知”扩展名(例如“.xyz”)的同一个表中,并且得到相同的结果......就像“.pdf”是未注册的扩展名一样(但是它是)。

有什么建议吗?

0 投票
0 回答
262 浏览

sql-server-2012 - sqlserver 的自定义 ifilter 仅适用于第一个文件

我为新扩展 (.abc) 创建了一个自定义 ifilter。
当我将它安装在操作系统中时,搜索效果很好。
当我尝试在 sqlserver 2012 中对文件表的全文索引使用它时,我看到只有一个文件被正确索引。
我试图在 fdhost.exe 上调试附加调试的索引任务。我看到我的类被实例化和销毁的次数与表中的文件 .abc 完全相同,但只是我第一次看到对 IPersistFile::Load、IFilter::Init、IFilter:GetChunk、IFilter::GetText 的调用,下次我的班级只调用构造函数和析构函数。
此外,在下次调用构造函数后,我在 Visual Studio 2012 的输出窗口中看到一个异常:
fdhost.exe 中 0x000007fefd44a49d 处的第一次机会异常:Microsoft C++ 异常:内存位置 0x01022c30 处的 CNLBaseException。

我没有找到有关此错误和 fdhost 行为的任何文档,以便了解错误在哪里。

谢谢你的答案。
路易吉

0 投票
0 回答
127 浏览

sql - TIFF IFilter 结果的页码

我们使用 Microsoft TIFF IFilter 来 OCR 文档并将信息存储在 SQL Server 2012 全文搜索中。有没有办法配置过滤器或 SQL FTS 来存储找到搜索结果的页码?例如,如果我搜索“foo”,我想知道在第 2、5 和 8 页上找到了“foo”一词。这是否可能不使用第三方 IFilter 或 FTS 引擎?

0 投票
1 回答
532 浏览

sql-server - 文件表 sqlserver 的物理文件名

我正在为我的扩展(我们可以称之为“abc”)为 sqlserver 创建一个自定义 IFilter。abc 文件是通用加密文件,最初具有不同的扩展名并记录在 sqlserver 文件表中。当我将文件复制到我的文件表中时,我对文件进行加密,我在 abc 中更改扩展名,并将原始扩展名记录在同一个 db 的另一个表中。当我的 IFilter 启动时,它会收到一个扩展名为 abc 的文件,但他的名字是由 sqlserver 创建的,并且它与存储在 filetable 中的文件的名称没有任何联系。如果我可以从该名称中检索文件表中的记录,那么我的问题将得到解决。

在此先感谢路易吉

0 投票
1 回答
1000 浏览

com - 如何从内存中加载 IPersistFile?

我在 C# 中使用 IPersistFile 加载文件,然后将其作为 IFilter 读取:

这工作正常。

但是,我想从内存而不是磁盘路径加载文件内容。那可能吗?IPersistFile 接口除了提供路径字符串之外没有显示任何其他方式,因此似乎既不能使用内存映射文件也不能使用字节数组。

0 投票
1 回答
349 浏览

c# - 实现了 ReadLine() 的 IFilter 代码?

任何人都知道IFilter实现ReadLine().

我目前正在使用这个代码项目 IFilter Wrapper,它非常好并且可以继承TextReader,但它不包含ReadLine(). 看过Read()方法后,它看起来并不容易或可以快速完成的事情。

有没有一种快速简便的方法来实现我只是缺少的?