2016-04-07 3 views
2

Для моих исследований я должен импортировать свалку из Википедии России в Elasticsearch 2.2. Но вместо импорта дампа я решил работать с индексами, опубликованными Wikimedia (http://dumps.wikimedia.org/other/cirrussearch/). Чтобы работать с ним, я нашел статью https://www.elastic.co/blog/loading-wikipedia и попытался использовать авторские скрипты для моей проблемы (просто заменил некоторые экспортные инструкции). Но есть проблема в шаге 2.Импорт индексов Википедии в Elasticsearch

Это моя версия скрипта для Шаг 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 
} 

Я также попытался использовать сценарий автора только для тестирования , Там же ошибка. Я не знаю, что делать. Пожалуйста, помогите исправить это.

ответ

1

Дампы Википедии в настоящее время экспортируются из ElasticSearch 1.7.5. Скорее всего (я не тестировал) текущее сопоставление несовместимо с ES 2.2. Вероятно, стоит попробовать использовать более старую версию ES.

Редактировать: последние дампы теперь совместимы с elasticsearch 2.x

Смежные вопросы