лучший способ сделать это - создать слой вне Solr, который обрабатывает ваши задачи импорта. Использование DIH ограничит то, что вы можете сделать (как вы обнаружили), и будет трудно правильно работать параллельно между несколькими узлами и службами индексирования (это разработано для гораздо более простого сценария).
Использование простой очереди (Redis, Celery, ApacheMQ, в зависимости от выбора языков и технологий), в которую внешнее приложение может отправлять запросы и которую ваши работники по индексированию выбирают из задач, будет масштабируемым и настраиваемым. Это позволит вам распределяться по нескольким индексным узлам по мере роста числа задач, а также позволит вам извлекать данные из нескольких источников по мере необходимости (и применять кэширование, если необходимо).