Я пытаюсь переиндексировать случайную выборку документов из удаленного кластера эластичного поиска 2.4 в новый кластер эластичного поиска 6.5.Я пытаюсь адаптировать этот пример (https://www.elastic.co/guide/en/elasticsearch/reference/6.5/docs-reindex.html#_extracting_a_random_subset_of_an_index) для удаленного переиндексации:
Пример:
POST _reindex
{
"size": 10,
"source": {
"index": "twitter",
"query": {
"function_score" : {
"query" : { "match_all": {} },
"random_score" : {}
}
},
"sort": "_score"
},
"dest": {
"index": "random_twitter"
}
}
Адаптирован к удаленному переиндексированию:
curl -H "Content-Type: application/json" -X POST localhost:9200/_reindex -d '
{
"size": 100,
"source": {
"remote": {
"host": "http://REMOTE_HOST:9200"
},
"index": "myindex",
"query": {
"function_score" : {
"query" : { "match_all": {} },
"random_score" : {}
}
},
"sort": "_score"
},
"dest": {
"index": "myindex"
}
}'
Это возвращает код состояния 400 и следующее сообщение:
{"error":{"root_cause":[{"type":"illegal_argument_exception","reason":"Unsupported sort [{\n \"_score\" : {\n \"order\" : \"desc\"\n }\n}]"}],"type":"illegal_argument_exception","reason":"Unsupported sort [{\n \"_score\" : {\n \"order\" : \"desc\"\n }\n}]"},"status":400}
Таким образом, сортировка по _score, похоже, не работает. Когда я удаляю сортировку _score, она работает нормально - однако образец тогда не является действительно случайным,как указано в документации.
Разве это невозможно при переиндексации с пульта или я что-то не так делаю?;)