索引Wikipedia转储到elasticsearch获取XML文档结构必须在同一实体错误中开始和结束

Yuz*_*uze 4 xml wikipedia elasticsearch

我想将维基百科索引到elasticsearch.

我尝试了stream2es + elasticsearch 2.0.0和Wikipedia River Plugin 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.
Run Code Online (Sandbox Code Playgroud)

Eri*_*k B 11

我不确定如何使XML导入工作,但还有另一种选择.最近维基媒体已经提供了生产弹性研究指数的转储.

索引每周导出一次,每个维基有两个导出.

这些格式为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'