1

我正在编写一个程序,它将在 Microsoft SQL Server 2005 上查询全文搜索索引。被索引的数据是大块文本(多行)。

我只需要提取那些包含搜索词的文本行,以便与结果一起显示。

因此,我需要使用 Sql Server 分词器和词干分析器来确定 blob 中的每一行文本是否与搜索字符串匹配,因为我了解 Windows 搜索中的标准分词器和词干分析器使用不同的算法。

我想如果我将两个 dll(infosoft 和 langwrbk)从 SQL Server 安装复制到我正在运行我的程序的机器上,并在它们上运行 regsvr32,它们将安装在注册表中,我将能够使用他们。

没有这样的运气 - 运行 regsvr32 似乎根本不会向注册表添加任何内容!

我有代码可以使用 Windows 附带的分词器和词干分析器来完成这项工作,并且它可以工作,但我担心这些差异(我在这里的其他帖子中看到过抱怨)。

4

1 回答 1

2

我在 COM 使用了代码,没有注册这个教区的john-jeffery提供的好意。

最初我遇到了问题,直到我意识到我使用的 DLL 是 64 位的,而我使用它的代码是 32 位的。一旦我将调用代码设为 64 位,一切正常。(我想如果我想保持 32 位,我可以从 32 位版本的 Sql Server 中获取 DLL)。

我已经在我的博客上发布了一个测试 LinqPad 脚本,它同时使用了分词器和词干分析器,以防万一还有其他人想做同样的事情。

于 2012-09-06T12:43:17.047 回答