xml - 将维基百科转储索引到 elasticsearch 获取 XML 文档结构必须在同一实体错误中开始和结束

标签 xml elasticsearch wikipedia

我想将 wikipedia 索引到 elasticsearch。

我试过stream2es + elasticsearch 2.0.0 和 Wikipedia River 插件 2.6.0 + elasticsearch 1.6.0 索引最新的维基百科转储 https://dumps.wikimedia.org/enwiki/20151102/enwiki-20151102-pages-articles-multistream.xml.bz2 .

但是两者都得到了相同的错误信息:

XML document structures must start and end within the same entity.

最佳答案

我不确定如何使 XML 导入工作,但还有另一种选择。最近,维基媒体提供了生产 Elasticsearch 索引的可用转储。

索引每周导出一次,每个 wiki 有两次导出。

这些是为 elasticsearch 批量导入 API 格式化的。因为那是 JSON,所以这些也可以在 elasticsearch 之外使用。

尚未记录导入它们,但我大致执行以下操作:

  1. 获取当前映射:curl https://en.wikipedia.org/w/api.php?action=cirrus-mapping-dump&format=json > mapping.json
  2. 将该映射提供给 elasticsearch:jq .content < mapping.json | curl -XPUT localhost:9200/enwiki_content --data @-
  3. 加载转储:zcat enwiki-20151116-cirrussearch-general.json.gz | parallel --pipe -L 2 -N 2000 -j3 'curl -s http://localhost:9200/enwiki_content/_bulk --data-binary @- > /dev/null'

关于xml - 将维基百科转储索引到 elasticsearch 获取 XML 文档结构必须在同一实体错误中开始和结束,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33630222/

相关文章:

search - 维基百科的搜索是如何进行的?

javascript - 使用从表单发布返回到 Web 服务的结果

javascript - 如何将表单值发送到服务器、数据库或电子邮件

elasticsearch - ElasticSearch数值距离

elasticsearch - 我可以从 Logstash 中删除消息字段吗?

ElasticSearch 在多索引、多类型搜索时返回 404

sparql - 如何在dbpedia中获取一个人的所有属性,而不仅仅是特定的属性查询

css - 如何更改维基页面上水平线的颜色?

javascript - 如何使用 javascript 将新属性动态插入到 xml 标记中?

android - Android API 指南对我来说有点不清楚 android :onClick XML attribute