用于电子邮件文件根目录的SQLServer2005文本编目



我正在寻找一个解决方案,为我工作的公司搜索定制的电子邮件套件(类似于呼叫中心,但用于电子邮件而不是电话)的电子邮件文件。

我遇到的问题是,当我想执行电子邮件搜索(正文)时,当目录包含数千个文件时,遍历目录并查找字符串需要很长时间。不幸的是,这些文件与执行搜索的客户端PC不在同一系统上。

然而,拥有文件的电脑与运行电子邮件服务的系统相同。我决定只将非常重要的信息放入数据库(电子邮件id、线程id、主题、收件人、发件人、收到日期)。我决定不把正文放在数据库中,而我为此使用的库(OpenPop)不容易从数据库中提取数据来生成"Message"对象,而不需要把整个文件放在一列中。

有没有一种简单的方法可以在SQLServer2005上设置文件编目?或者有更好的方法来提供搜索功能吗?不幸的是,我没有太多的开发时间来从头开始创建一个自定义搜索引擎,我们也不会为此购买专有软件。

我看过一些Java&基于web的解决方案,但我正在考虑SQL Server解决方案,或者可能使用我们在这里使用的语言(C#/.NET 4.0)来实现解决方案。

SQL Server确实为表中包含的数据提供了全文搜索工具。它不支持对外部数据进行全文搜索。

如果你不想使用另一个库来进行基于文件的搜索,我建议你将数据填充到表中,并使用sql server提供的全文搜索工具,它们不难使用,也不昂贵(尤其是因为你已经有了sql server),并且应该很快集成。唯一的缺点是磁盘空间使用率增加。

磁盘往往很便宜,所以这不应该是一个问题,除非你使用的是昂贵的主机。