我正在尝试为我遇到的问题提出一个简单的解决方案,因为到目前为止我发现的所有这些似乎都太复杂了!
情况是我们使用专有应用程序来管理我们业务的大部分方面。它有一个SQL Server 2005后端数据库,该数据库相当大。该应用程序还允许将 Word 和 PDF 文档附加到我们广泛使用的记录中,这些记录存储在服务器上的文件系统中,文件名在数据库中引用。不幸的是,应用程序中的搜索功能很差,所以我正在尝试构建自己的版本。
到目前为止,我已经有了一个带有搜索框的简洁 ASP.NET 页面,该页面允许用户输入要搜索的单词,并在其他字段(例如部门、日期等)上过滤结果。 存储过程 I'我们在数据库中写入的内容会在数据库中的几个不同字段中查找他们正在搜索的单词。我真正的目标是谷歌式的“一次搜索统治所有”效果,用户不必指定他们期望在哪里找到他们正在寻找的单词,他们只会在任何地方得到点击它出现在数据库中。这正在发挥作用。
我现在要添加的是搜索功能,包括“附加”到记录的文档文本。它们都是 .doc 或 .pdf 文件,但如果我无法搜索 .pdf 文件,那也不会是世界末日。
在我的理想世界中,我要做的就是找到一些软件来索引包含文档的文件夹(目前大约有 100,000 个文档,平均约为 100k),并使用该索引填充现有数据库中的表,以便我可以只需将该表包含在我的搜索中即可。我希望它只包含它索引的每个唯一单词的记录以及引用包含该单词的文件系统中的文档的连接表。
鉴于这似乎很奇怪,并且没有任何软件可以做到这一点,或任何接近它的东西,据我所知,您会推荐什么解决方案?服务器上已经运行了 dtSearch,对我感兴趣的文件进行索引。但是,虽然我可以费力地浏览文档,试图弄清楚如何通过我自己的网页(我已经开始要做,并且发现很繁重),这将必须是对 SQL 数据库之一的单独搜索。我无法以统一的方式从文件索引和数据库返回结果。
那么,从最终希望将索引词存储在数据库中出发,以实现全文检索,有人会建议什么呢?
SQL Server 具有全文搜索 (http://msdn.microsoft.com/en-us/library/ms142571.aspx);它支持 PDF 和 Word 文件(尽管有一些问题 - 安装可能有点棘手)。该链接指向 SQL Server 2008 - 但该功能自 SQL Server 2000 以来就已存在。
因此,超级简单 - 您的解决方案将要求您将文档加载到 SQL Server 中,并修改您的存储过程以使用内置的自由文本搜索功能来查询它们。
保持文档的文件系统和数据库版本同步可能是一个挑战,但除此之外,我认为解决方案应该相当简单。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)