【发布时间】:2010-07-26 15:03:19
【问题描述】:
我需要设计一个将驻留在组织内部网中的 Windows 应用程序。该应用程序将部署在用户的机器上,并且用户将在具有预定义模式的 XML 文件中生成输出。此 XML 将被写入其他用户可以访问的网络文件夹。这些文件被命名为 userid_output.xml。 “用户标识”是从应用程序环境中提取的。在使用该应用程序时,用户应该能够搜索由用户世界生成的所有 XML,直到那时为止。检索到的信息将促使用户塑造他/她的应用程序输入。一个非常严格的要求是不使用任何 RDBMS(Oracle/Sql Server/MySql 等)来存储 XML。共享网络文件夹是“THE REPOSITORY”,仅用于存储 XML。托管共享文件夹的机器可能不会运行任何有助于索引 XML 或优化数据以进行搜索的服务。
鉴于这些限制,是否有人知道任何设计技术/工具/机制来从这个“数据集”执行快速信息检索?
谢谢
【问题讨论】:
-
这些听起来像是一些非常糟糕的要求。我们是否理解重点是通过磁盘上无数的 XML 文件来解析您的方式,以便以最快的方式执行搜索,而不需要任何索引?
-
如果我被步履蹒跚到这种程度,我会说再见,并解释说如果没有行业工具,我将无法完成我的工作。
-
我认为的另一种方法是以某种方式选择性地提取客户端站点上的 XML 并在内存中执行搜索,但如果 > 2000 个用户每天输出 GBytes 的数据,这种方法将很快失败。
-
所以你甚至不能在存储库中存储索引文件?
-
此外,即使是 XPath 也不是一个巨大的加速,因为使用 XPath 仍然需要再次解析 XML。它们可以加快速度并帮助查找要解析的文件,但它们不像数据库索引。
标签: .net xml search indexing real-time