【问题标题】:SQl Server 2008 FILESTREAM, Indexing Services, and FTSSQL Server 2008 FILESTREAM、索引服务和 FTS
【发布时间】:2010-12-06 03:00:55
【问题描述】:
我需要实现一项服务来搜索 PDF。最初我开始使用 SQL Server 2008 FTS,但很快意识到我的 PDF 必须存储在数据库本身中。然后我被指向索引服务以及 SQL 2008 FILESTREAM 数据类型,以便我可以将 PDF 存储在文件系统中。那么这三个(索引服务、FTS 和 FILESTREAM 选项)是如何相互关联的呢?我需要同时使用这三个来实现我的搜索吗?
另外,像 DiscountASP 这样的托管服务通常会启用这些吗?还是我应该考虑改用 Lucene.NET?
【问题讨论】:
标签:
sql-server
sql-server-2008
search
full-text-search
lucene.net
【解决方案1】:
如果您提前知道要查找的内容(例如,您每天会收到数百个 PDF,并且需要找到带有某些“接收前已知”字符串的 PDF,那么您可以在接收时制作文本版本,创建PDF 文件的索引条目,然后丢弃文本。
如果你事先不知道搜索词,生活会变得慢很多 :( 有一个叫做 PDF Search 的程序声称可以在 PDF 文件中进行全文搜索。我不需要使用它,所以我不能说它是怎样的,但它就在这里:http://www.getpdf.com/。
希望对你有帮助
【解决方案2】:
我们曾经使用 PDF iFilter,它允许您将 PDF 存储在 DB 中,然后对其执行 FTS。然而,我们现在将 PDF 转换为文本并将文本存储在全文索引中。这允许我们现在将所有文档(我们存储 .doc、.pdf 等)存储在同一个索引中。
DiscountASP 确实允许托管数据库上的 FTS /iFTS。