     @return {goog.Promise}
   ###
   searchSongsByQuery: (query) ->
-    # TODO: Ignore diacritics, boost name and artist, use detected language.
-    @asSource @search index: 'songary', type: 'song', body:
+    @asSource @searchSongarySong
       query: bool: should: [
         match: name: query: query, operator: 'and'
       ,

      response.hits.hits.map (hit) -> hit._source

  ###*
    @return {goog.Promise}
  ###
  getRecentlyUpdatedSongs: ->
    @asSource @search index: 'songary', type: 'song', body:
      sort: updatedAt: order: 'desc'

  ###*

    @return {goog.Promise}
  ###
  getSongsByUrl: (urlArtist, urlName) ->
    @asSource @searchSongarySong
      query: filtered: filter: bool: must: [
        term: urlName: urlName
      ,
