Как переместить все документы из одной коллекции в новую без указания ключа маршрутизации (6.3.0)
Имейте коллекцию c1, у которой есть 400000 документов и c2 без документов (новая коллекция).
Ключ маршрутизации не указан ни в одной коллекции.
Попытка использовать конечную точку API миграции Collections, найденную / описанную в документации.
Поскольку ключ маршрутизации не указан, я не уверен, что использовать для split.key
параметр. Я нашел эту тему, которая упоминает, что split.key=!
должен охватывать все документы. Это не подтвердилось в моих тестах.
Вот моя попытка URL: http://solr.node:8983/solr/admin/collections?action=MIGRATE&collection=c1&split.key=!&target.collection=c2&async=1
Это не сработало, и я перепробовал много итераций split.key
параметр безрезультатно. Пробовал пустым, a!
, id!
, id
, compositeId
и ни один из них не перенес никаких документов в коллекцию c2.
Как работает функция Migrate без указания ключа маршрутизации? Есть ли значение по умолчанию, которое можно использовать для захвата всех документов, которые действительно будут работать?
Спасибо!
Изменить: так как не был указан ключ маршрутизации, текущий маршрутизатор compositeId
поскольку solr делает это, когда он не указан.
1 ответ
У меня к тебе такой же вопрос. Я тоже хотел бы получить ответ. Я только получил ответ от руководства SOLR.
split.key Префикс ключа маршрутизации. Например, если uniqueKey документа - «a! 123», вы должны использовать split.key= a !. Этот параметр обязателен. ссылка: https://solr.apache.org/guide/8_6/collection-management.html