Hello Everyone!
I’m Junaid (fettuccinae), an undergraduate Computer Science student at MGIT in India. This summer, I returned to MetaBrainz for my second GSoC project, where I worked on modernizing the MusicBrainz search under the mentorship of @kartikohri13 and @bitmap.
Project Overview:
MusicBrainz uses Apache Solr for search queries.
The previous implementation serialized all the response data into a single _store field.
The response writers reads _store, unmarshal the XML into a MusicBrainz XML Metadata Format (MMD) object and then serialize it again as XML or JSON for the response.
Few problems with this design are:
1. The indexer must construct a complete XML representation for every document, even though much of the same information is already available in normal Solr fields.
2. Most of the response data is stored in an opaque _store XML blob.
This project focused on moving the fields from one _store XML blob into their own flat fields (and JSON strings for nested fields).
The main goals of this project were:
1. Upgrade the Solr schema version from 1.5 to 1.7
2. Add fields (in configsets and indexer) to store all the data to be returned
3. Create response writers to return data from fields
The proposal for this project can be found here.
Continue reading “GSoC 2026: Modernize search storage format for the MusicBrainz database”


