I have an archive of several years' worth of XML documents. There are 1M+ unique document subjects, and each subject may have one or more documents for any given year. Each document contains hundreds of nodes and parameters. Total XML cache is about 50GB in size.
I need to build a system that stores and indexes these documents, allowing searches filtering on various parameters (and which can be expanded in scope over time).
To achieve this I certainly have to use some sort of indexed DBMS. I considered building a tool to import the XML files into a relational database like MySQL, but this seems like a brittle and overly complicated solution.
I've heard ElasticSearch and MongoDB mentioned as possible solutions, but I'm not familiar enough with their feature sets to determine if either one is the optimal solution.
What is the best practice, optimal solution for storing, indexing, and searching an XML dataset at this scope?