Improve search behavior

Feature description:

Improve search behavior for Navidrome/Subsonic to match the experience provided by other Navidrome/Subsonic clients. To better illustrate my point, I will be comparing Symfonium’s search behavior to Navidrom’s built-in search functionality in the web-UI as well as Sonixd.

Problem:

Symfonium’s search behavior does not behave as expected. Said expectations are based on my experience with other Navidrome/Subsonic clients. There are two differences I’ve noticed (so far):

1) Symfonium seems to try to parse the keywords provided in the search query in order and only successfully provides a result if the order of the search keywords matches the order of the text in the search field. Here’s an illustration:

Goal: Use the search function to find an album titled “Beethoven: Piano Sonatas Op. 109, 110, 111 by Sviatoslav Richter”
So I type in the type of composition I’m looking for + the composer’s name “piano Sonatas beeth”

Outcome: No results


However, the album does exist in the library as evidenced by the search query “piano Sonatas” (“beeth” removed):

I found this quite odd, so I experimented a bit further with just the letter “b”. The album did show up, but upon further inspection I came to the conclusion that the “b” was matching the word “by” in the album title, which strengthened my suspicion that the keywords were being matched in order of appearance:

but if I try to add a keyword that comes before “op. 109” in the title, I get no result:

However, if the same keywords are provided in the order with which they appear in the album title, the album shows up:

Now compare this behavior with Navidrome’s own web-UI or Sonixd, where the keywords are matched with the album title regardless of the order in which they appear:



The second difference in search behavior that I noticed was that Symfonium seems to only search one field at a time.

For example, if my goal is to find a “song” with the following attributes:

  • title field contains “piano sonata”
  • album artist field contains: “Franz Schubert”

and I try to search for “piano sonata franz”, I get no result on Symfonium:
(Edit: the search filters got cut off here, but they are the same as in the screenshots above)


which is not the case when doing a “song” search on Navidrome’s web-UI or Sonixd:

Edit: Typos and clarity

1 Like

I’ve noticed the same thing as the albumartist tag holds what most use as albumartistsort in my collection.
So I have “Nick Cave” as artist and “Cave, Nick” as albumartist for example. When I search for “Nick Cave” filtered to only display albumartist results, I get no results.
I have to specifically search for “Cave, Nick” to find it.

Since using the albumartist in this way is not common I never mentioned it before now.
It did confuse my sister tho because she always searches for “Nick Cave” etc. instead of “Cave, Nick”.
It’s a minor annoyance but I would also like for example a toggle to set how strict the search is (“contains in order” vs. “contains in any order”).