.net - 在 .NET 中快速搜索 XMl 文件(或如何索引 XML 文件)

标签 .net xml database xpath indexing

我必须实现一个能够快速对 XML 数据执行任意复杂查询的搜索功能。如果用户进行查询,则必须搜索所有 XML 文件以找到可能的匹配项。 用户将拥有大量 XML 文件(几万个或更多),这些文件的大小通常为几千字节。所有的 XML 文件都具有几乎相同的结构。

我已经对 XPath 进行了基准测试,它对我的​​需求来说太慢了。

如何最有效地完成它?是否可以为 XML 文件的内容创建索引(保留内容语义,而不仅仅是普通的全文搜索)?

将 XML 数据放入(嵌入式)SQL 数据库并使用 SQL 进行查询是否有用?

我还有哪些其他可能性?

最佳答案

不要尝试重新发明轮子!

我会将 XML 导入数据库(例如 SQLite)(加上元数据、XML 信息),然后进行查询。

编辑 1:

您可以实现一个“放置文件夹”,它在第一次运行时被“索引”/导入。可以实现文件夹观察器以仅更新 XML 文件的新内容/更改。 SQLite 可以在内存中运行以获得最快的 I/O 性能。

关于.net - 在 .NET 中快速搜索 XMl 文件(或如何索引 XML 文件),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2956162/

相关文章:

xml - 使用 HADOOP mapreduce pgm 计算 XML 中的每个文本值

mysql - 将特定记录从一个数据库导入到另一个数据库

xml - xslt中的时区转换

ios - 在转换应用程序中构建数据

java - 如何正确处理两个线程更新数据库中的同一行

c# - 引用程序集后无法使用命名空间

c# - 检查 Type 或实例是否实现 IEnumerable 而不管类型 T

c# - 在 LINQ 中执行时,表达式是否枚举参数?

c# - 无法解决(到目前为止)的序列化错误

java - 在 Java 中从 hashmap 创建多个 XML 文件