Как переместить все документы из одной коллекции в новую без указания ключа маршрутизации (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

Другие вопросы по тегам