Мы столкнулись с той же проблемой и придумали метод пакетного удаления.
Мы создали программу, которая удалит документ из SOLR на основе uniqueid, если уникальный уникальный идентификатор присутствует в SOLR, но не в базе данных, вы можете удалить этот документ из SOLR.
(Получить UniqueID список из ГУМЗ) минус (UniqueID список из базы данных)
Вы можете просто использовать SQL минус, чтобы получить список UniqueID, принадлежащий к документам, которые необходимо удалить.
Иначе вы можете делать все на стороне JAVA. Получите список из базы данных, получите список из solr .. Сделайте сравнение между 2 списком и удалением на основе этого. Это будет потеряно быстрее для огромного количества документов. Вы можете использовать двоичный метод поиска, чтобы сделать сравнение ..
Что-то вроде
Collections.binarySearch(DatabaseUniqueidArray, "SOLRuniqueid");