php xml большие связанные файлы как лучше обработать
Есть 3 связанных xml файла, тоесть id из первого есть в других. файлы размером от 100мб до 2-3 гб. Кому интересно это база адресов ГАР.
1й файл названия объектов 2й файл характеристики 3й иерархия - какой объект за каким идет. Родители объектов
вопрос как мне это лучше связать и обработать?
Единичный файл я обрабатываю php XMLReader - он не грузит файл в память. А идет по нему от начала до конца. постепенно. НО мне надо как то связать данные. из первого взять имя объета. из второго параметры. А из 3го взять кто родитель. И все это записать в solr. Солр на сколько я знаю не умеет обновлять данные запросом. Надо сначала снова получить документы. переписать в них поля и снова добавить.
каждый раз доставать и сохранять это в солр это как то медленно.
Я сначала сделал добавление всех данных в базу mysql в 3 таблицы. Потом делаю запрос на связывание этих данных и уже это добавляю в solr постепенно пачками по 1000 документов.
Вроде работает но все равно как то медленно. Там на хабре ребята хвастались что несколько часов всю базу обрабатывают. У меня только минут 20-50 уходит на обработку 1 региона. Их там 99.
Вообщем может есть какой то интересный способ как связывать данные в больших xml чтоб без промежуточной базы.