【问题标题】:BaseX for Wikipedia Dumps: feature_secure_processing ProblemBaseX for Wikipedia Dumps:feature_secure_processing 问题
【发布时间】:2022-01-20 18:12:43
【问题描述】:

我尝试使用 BaseX(basex.org,没有论坛,商业用例的付费帮助,帮助文件中没有出现上述搜索词)db 为维基百科文本转储创建离线数据库(.xml 与大约 20 GB,未知数量的“页面”)。

在 BaseX 中创建新数据库后,程序会非常快速地导入大量“实体”,这些“实体”中的每一个都可能是多个标签之一,例如 ...,并且以此类推,页面数量要少得多。

导入 5000 万个“实体”后,总是收到错误消息“D:/dewiki.xml”(第 99057203 行):JAXP00010004:实体的累积大小为“50,000,001”,超过“50,000,000 “由“FEATURE_SECURE_PROCESSING”设置的限制,并且数据库似乎仍然是空的,也就是说,即使是在那个时间点之前处理过的页面似乎也没有被导入。

我已经手动搜索了 BaseX 附带的许多通用数据库维护等文件,以查找“feature_secure_processing”,但在这些多个文件中没有找到这样的字符串,并且没有关于它的设置,在BaseX“选项”。

我知道这个字符串经常用在 XML 或其他环境中,为了防止来自外部的 web 攻击,但很明显,在我的用例中,我不需要这样的“保护”,而是我需要导入整个维基百科 XML 转储文件,以便 BaseX 创建数据库,连同索引等等。

例如,在更常见的“WikiTaxi”中,只能针对当前页面进行内容搜索,甚至不允许从页面内容中选择然后复制,显然是为了防止学童复制并粘贴到他们的作业中;因此,一旦限制问题得到解决,BaseX(不是:XBase)似乎是访问 Wikipedia 转储的更好解决方案。

如何解决我在 BaseX 中的问题?

我知道Error: xml.sax.SAXParseException while parsing a xml file using wikixmlj 以及那里对 Java 的建议,但我不知道 Java 或任何其他编程语言,所以这个答案对我没有帮助。

非常感谢!

【问题讨论】:

    标签: xml parsing limit basex


    【解决方案1】:

    该错误是由 Java 的默认 XML 解析器引起的。如果您使用图形用户界面,您可以通过在数据库创建对话框的解析选项卡上启用“使用 XML 内部解析器”选项来使用内置的 BaseX XML 解析器。

    如果您想坚持使用 Java 的默认解析器,则需要在启动 BaseX 时传递系统属性,如您发布的 StackOverflow 问题的答案中所述。

    【讨论】:

    • 非常感谢您,亲爱的 Grün 先生(= BaseX 的创建者),这完成了导入(带有对话框的 GUI)。不幸的是,即使对话“Parsing-Use internal-Parse DTDs”和实体“(!),切碎空白”也将它全部放在一个(切碎的)文件/记录(原始=约3.6亿行)中,没有填充不同的(SQL?)字段有数据,根据标签;我也很高兴每个“页面”只有 1 条记录/文件,通过标签“”,它将包含该页面的其他标签/数据,但对话中没有字段可以输入这样的“记录-分隔符”用于解析/分发到文件或记录中。
    • BaseX 邮件列表可能是讨论更多问题的更好场所。
    猜你喜欢
    • 1970-01-01
    • 2021-06-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多