I searched Albums for the string “1923”. As the “top result”, Roon chose “July” by Marissa Nadler. Its claim for the top honor, methinks, is based upon a track entitled “1923”. Fair enough, if there weren’t any other contestants.
But there was. The contender, and IMO should have been the winner, was an ALBUM entitled “1923” by Yaara Tal.
By looking at this and other results, perhaps a quirk can be revealed in the selection algorithm. Was the album chosen because it was QOBUZ, and the contender was from my local library? Or might it be tilted toward finding tracks and less so toward albums. (But that sounds odd since the search started at the Album Page.)
Obviously, not a big issue, but I really want the AI to replicate how I might think about a request. Ths time it was off a bit.
As I understand it, you used global search to search for anything related to the search string.
From my experience the “Top result” is preferring titles or works over other result categories if various same rank results in different categories exist. The exact ranking algorithm has never been shared though, so this is speculation and might be totally wrong.
From my understanding, a global search for X produces the same result no matter on which page in Roon you enter the search string.
So, to “search” for albums that contain a given string, it is better to use the filter feature. Used this way, using filter on album page, you will get nothing than albums as result – a result set sorted by your current sort criteria for albums and you have to choose your “Top result” or match yourself. Probably not bad because what an algorithm chooses may be something else than what you wanted. But it will not show an album based on a track title match only, something global search may do.
Could Roon do better and use the place/page where the search was initiated from, to add additional weight to results to increase the likeliness of the “Top result” matching the category the initiating page belonged to? Maybe, but maybe they already do (and it just wasn’t enough additional weight in your example)? Someone from Roon Labs who knows the search implementation would have to comment on this. The thread should then be in Feedback instead? Staff should read the threads over there which is not necessarily the case here, or so I sought (and your idea actually is feedback to an existing feature in the product)?
But spinning your thought path even further: Why even show results from other categories when the search was initiated from a page belonging to a specific category (search no longer global)? If that is more what you had in mind when posting this, you better put it in Feature Suggestions then.
So basically, if I’m on an ‘album’, and I initiate a search, the search results page should prefer other ‘album’ entities?
I’m trying to think about how much that actually makes sense but it’s an interesting thought.
However, note that for years (or other numbers) the filter does not match on the literal string but instead matches on any album title that contains all of the digits in any combination. It’s a filter quirk, see this thread:
It may not affect the OP‘s case much if they don’t have lots of albums containing the digits 1, 2, 3, and 9, but I thought I’d leave the info here to prevent confusion.
Inferring user intents with years in a query isn’t 100% straightforward. If a year is in the search query, should I search for that year in the title / name of the entity, or instead filter the release date within a reasonable range of that year? It’s a toss up, like both sort of make sense.
Where I personally landed was doing parsing of that to a filter on more autocompletey searches (when the string isn’t quoted) and leaving the query re-writing off for the actual search.