【发布时间】:2016-03-23 17:54:56
【问题描述】:
我正在重构文档存储服务的站点,以从专有存储系统转换为 SQL。一切进展顺利,但我需要找到一种方法来在我们的存储库中搜索特定的文本字符串。我们使用多种不同的文件类型(.xls、.xlsx、.doc、.txt 等)。首先通过使用 PDFSharp 逐行重建将它们转换为 PDF,从而将它们显示给用户。
速度不是查看/搜索单个文件的考虑因素,但我担心可扩展性。我能够通过复制然后挂钩到我们的转换过程来进行有效的文本搜索,但我相当确定这不适用于搜索客户的整个文档列表(成千上万的文档)。如果这些都是统一的文件类型,可能会更容易做到,但事实并非如此。
有没有一种我不知道的有效方法?
编辑:文档存储在服务器上,并通过数据库中的文档 URL 进行引用
【问题讨论】:
-
您了解 SQL Server 中的全文搜索功能吗?你试过了吗?
-
我不是。我研究了全文搜索,但我们的文件没有存储为文本文件,所以我不知道 SQL 服务器是否可以索引文件(它们必须先转换)。这纯粹是一种无知,但全文索引不需要将整个内容以文本形式存储在数据库中吗?我将如何从中获取页码?
-
你的问题我不清楚。你有专有格式的文件,什么?您需要“实时”将它们导入 SQL 吗?我无法想象任何需要这样做的场景,所以我一定误解了您的需求。
-
@NicholasMansfield,要使用文本搜索,您不需要 TEXT 格式,SQL Server 可以处理所有 Office 文档、PDF 等。所以您甚至不需要将文件转换为文本。
-
@Tab 文件不是专有格式,我们的旧数据库系统是。这意味着我不能只使用他们的算法。
标签: c# sql-server full-text-search