End-of-life for external access to MusicBrainz search server

For MusicBrainz mirrors, MusicBrainz server development, and custom applications, there used to be a direct access to search.musicbrainz.org which was actually inherited from the previous search infrastructure until 2018.

Keeping it available in the current infrastructure uses a compatibility layer which has been unintentionally broken last year. This issue has been reported only once. The alternative and much more sensible solution which is to install a local search server has improved in reliability and simplicity in the meantime. Polling the community shown that only one person would be interested which isn’t enough to justify the maintenance overhead for this replaceable service.

Therefore it has been decided to close this access for good.

Thanks to everyone who made this transitioning service to work and handle about 40k requests a day on average!

New search server build deployed

Today we’ve deployed a new build of the search server code. As you may know, we’ve been having loads of issues with our search servers recently.

In an effort to figure out what causes the bizarre behaviour we’ve observed, we compiled a new version of the codebase with a more recent version of Lucene. In theory this makes no feature changes to the codebase, but you never know if that is actually the case.

We hope that this build will be more stable, but we’ll need to observe over the next few days to see if that will be the case. If you spot any problems, please report them in our SEARCH bug tracker.


Search Server Update, 2014-05-14


  • [SEARCH-141] – Remove or change setMergeFactor option in IndexBuilder
  • [SEARCH-332] – target element for relationships included in /ws/2/url endpoint is improperly structured to match lookup
  • [SEARCH-336] – searching “Universal Music” and 34. entry is correct “Universal Music”
  • [SEARCH-339] – MB search requires minimum of 4 characters to consider second name
  • [SEARCH-347] – Countries should be sorted before cities in Area search
  • [SEARCH-348] – Full Search Index Failure


  • [SEARCH-265] – Add editors to the indexed search
  • [SEARCH-341] – Allow searching releases with specific packaging type
  • [SEARCH-352] – Include disambiguation in work index
  • [SEARCH-355] – Label Sortname field removed from Database
  • [SEARCH-356] – Area Sortname field removed from Database

New Feature


  • [SEARCH-338] – Return containing areas in area search

Search server jar/war files

We’ve been asked to provide instructions for how to upgrade a search server installation. We’ve got two answers for you:

  1. Short answer: Use the jar/war files linked below. Deploy these into whatever setup you’re currently using.
  2. Long answer: Check out the source (svn rev 13728) of the search server and follow the install instructions to build your own jar/war files.

Links: indexer jar, servlet war

Search server update for 2013-10-14 release

In conjunction with our main server release we’ve released a new search server. Thanks for your hard work on this release, Paul!

This release contains changes to match the Autumn 2013 database schema changes plus some bug fixes and improvements mostly to do with artist credits and aliases. See the detailed list of issues that are fixed in this version:


  • [SEARCH-46] – Searching for a release by releasename and artists english name will give no matches
  • [SEARCH-122] – Recording Search only adds release artist credit if different to recording artist credit and VA release
  • [SEARCH-304] – Webservice Json output for aliases when searching is inconsistent for boolean values
  • [SEARCH-311] – Recording, release and releasegroup search results incomplete artist aliases
  • [SEARCH-324] – Release search should return catalog numbers in ascending order


  • [SEARCH-132] – Allow to filter release search by quality
  • [SEARCH-242] – The searcher can’t guess that the artist name one’s looking for is alias or artist name ☞ look for both
  • [SEARCH-288] – Include alias sortnames when searching works


Search server update: June 13

On 13th June we updated the search servers once more. Thanks for fixing bugs and adding Area support, Paul!

Release Notes – MusicBrainz Search Server – Version 2013-06-13


  • [SEARCH-297] – Webservice Json output for aliases when searching is inconsistent with output when doing a lookup
  • [SEARCH-302] – search server json output use singular for a list of release-groups.


  • [SEARCH-292] – Include area info in the indexed search artist and label results
  • [SEARCH-299] – Ouput TrackIds

New Feature

  • [SEARCH-301] – Search for Area by ISO 3166 code


  • [SEARCH-273] – Support for multiple country/release events on release as as part of schema changes
  • [SEARCH-286] – Add areas to the indexed search

Search server regressions fixed

Yesterday we pushed out a new version of our search servers to fix some regressions introduced last week. Thanks to Paul Taylor for fixing these bugs so quickly.

Release Notes – MusicBrainz Search Server – Version 2013-20-05


  • [SEARCH-290] – REGRESSION WS2 RECORDING query returns cropped artist-credit
  • [SEARCH-294] – REGRESSION:Search results no longer include medium-list count attribute
  • [SEARCH-298] – REGRESSION:ws/1 release search seems broken


  • [SEARCH-296] – Update README to point to up-to-date mmd-schema repository

Search server release: 2013-05-15

Coninciding with our main server release, we’ve updated our search servers. This version fixes some bugs from the last release and adds support for countries and track ids.

Thanks for your hard work on this release, Paul!

Release Notes – MusicBrainz Search Server – Version 2013-05-15


  • [SEARCH-236] – Incomplete VA artist credit included for releases in recording search
  • [SEARCH-282] – REGRESSION:Johanne Sebastian Bach is not the first result when search for artist Bach
  • [SEARCH-283] – REGRESSION:"-" is returned instead of an empty list when there are no ISWCs for a work
  • [SEARCH-284] – REGRESSION:"-" is returned instead of an empty list when there are no ISRCs for a recording


  • [SEARCH-219] – Include alias sortnames when searching labels or artists
  • [SEARCH-257] – entity search : entity name should have more weight than aliases and artist credits
  • [SEARCH-268] – Add extended alias info to the ws search results
  • [SEARCH-269] – WS searches don’t return aliases that match the artist name


  • [SEARCH-274] – Support for changes to Countries in forthcoming Schema release
  • [SEARCH-285] – Support for TrackIds in forthcoming Schema Release

Search server fixes released

Last week’s search server release had some bugs that we decided should be fixed sooner than later. Paul Taylor rose to the challenge and fixed 4 important bugs and we just finished releasing the updated code. Thanks for your efforts, Paul!

Release Notes – MusicBrainz Search Server – Version 2013-04-04


  • [SEARCH-279] – Seach server returning wrong results
  • [SEARCH-280] – Artist search DAVID BOWIE → FRANZ SCHUBERT (score 100) !? Bowie (score 0)
  • [SEARCH-281] – If set explain=true option with dismax search it actually does a non-indexed search


  • [SEARCH-267] – Create new rewrite method for Dismax FuzzySearch

Updated search server now live

We’ve just updated our search servers to the latest version. Thanks to Paul Taylor for his long hard work porting our code to Lucene 4.1. Big thanks also to Murdos and Nikki for helping with this release!

Also, we’ve installed a small gigabit ethernet switch for our search server cluster so that we can move new search indexes around much faster. Hopefully we will see indexes updating in just over 2 hours from now on.

Read on for all the details of this release:

Release Notes – MusicBrainz Search Server – Version 2013-03-29


  • [SEARCH-239] – Search updater doesn’t update the index last-updated value returned by SEARCH-232
  • [SEARCH-244] – Since the October Schema Change Release, search server is now returning empty join phrases when once doesnt exist , whereas before it didn’t display it all
  • [SEARCH-247] – Runtime Exception: The property or field count on the class org.musicbrainz.mmd2.Medium$TrackList is required to be included in the propOrder element of the XmlType annotation.
  • [SEARCH-263] – Search server applications do not gracefully disconnect from PostgreSQL on termination


  • [SEARCH-217] – Allow searching and displaying of folksnomy tags for the release entity
  • [SEARCH-246] – Extend support for searching for blank parameters to ISWC and ISRC

New Feature

  • [SEARCH-228] – Let Dismax Search for Labels search Label Code