elasticsearch - 将Wikipedia的索引导入Elasticsearch

标签 elasticsearch wikipedia dump

对于我的研究,我应该将俄语Wikipedia的转储导入Elasticsearch 2.2。但是,我决定不使用转储,而是决定使用Wikimedia(http://dumps.wikimedia.org/other/cirrussearch/)发布的索引。为了使用它,我找到了https://www.elastic.co/blog/loading-wikipedia文章,并尝试使用作者的脚本解决我的问题(只是替换了一些导出语句)。但是步骤2中存在问题。

这是我步骤2的脚本版本:

export es=localhost:9200
export site=ru.wikipedia.org
export index=ruwiki

curl -XDELETE $es/$index?pretty

curl -s 'https://'$site'/w/api.php?action=cirrus-settings-dump&format=json&formatversion=2' |
jq '{ analysis: .content.page.index.analysis, number_of_shards: 1, number_of_replicas: 0 }' |
curl -XPUT $es/$index?pretty -d @-

curl -s 'https://'$site'/w/api.php?action=cirrus-mapping-dump&format=json&formatversion=2' |
jq .content |
sed 's/"index_analyzer"/"analyzer"/' |
sed 's/"position_offset_gap"/"position_increment_gap"/' |
curl -XPUT $es/$index/_mapping/page?pretty -d @-

结果
{
  "acknowledged" : true
}
{
  "acknowledged" : true
}
{
  "error" : {
    "root_cause" : [ {
      "type" : "action_request_validation_exception",
      "reason" : "Validation Failed: 1: mapping source is empty;"
    } ],
    "type" : "action_request_validation_exception",
    "reason" : "Validation Failed: 1: mapping source is empty;"
  },
  "status" : 400
}

我还尝试使用作者的脚本进行测试。有同样的错误。我不知道该怎么办。请帮忙解决。

最佳答案

Wikipedia转储当前是从ElasticSearch 1.7.5导出的。当前映射很可能(我尚未测试)与ES 2.2不兼容。尝试使用旧版本的ES可能值得。

编辑:最新的转储现在与elasticsearch 2.x兼容

关于elasticsearch - 将Wikipedia的索引导入Elasticsearch,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36485614/

相关文章:

elasticsearch - Elasticsearch-仅在存在所有给定术语的情况下才返回文档

json - 提取twitter json以使用python进行 Elasticsearch 时映射字段类型

python - 允许远程访问 Elasticsearch

elasticsearch - Elasticsearch,将嵌套过滤器与普通过滤器结合

mediawiki - 获取重定向到维基百科页面的所有 URL 的列表?

php - 无法使 dump() 在 Symfony 4.2 工具栏中工作

hadoop - 使用 Cloud9 和 hadoop 提取维基百科文章文本

sparql - 从维基数据获取类别的成员

mysqldump 仅导出一张表到另一张表上

postgresql - 在 postgres 中导出域