Viewing Issue Advanced Details
ID Category [?] Severity [?] Reproducibility Date Submitted Last Update
07313 Interface Minor Always May 1, 2019, 22:55 Aug 29, 2023, 14:25
Tester MetalGod View Status Public Platform MAME (Official Binary)
Assigned To Resolution Reopened OS Windows Vista/7/8 (64-bit)
Status [?] Confirmed Driver
Version 0.209 Fixed in Version Build 64-bit
Fixed in Git Commit Github Pull Request #
Summary 07313: Search function got worse since mame 0.206.
Description Search function got worse since mame 0.206.

For example, in mame 0.205 when typing "champion edition" you got all editions of sf2 champion edition and 2 pacman games, well, you receive ALL games that include those 2 words. Since mame 0.206 you got NOTHING on the list including those 2 words, you just get some games that start with the word "Champion".

Typing "Golden Axe" in mame 0.205 you received a list of all golden axe versions and sequels. Now since mame 0.206 the first results you see are "Golden Hexa" and "Golden Cue"... I really don't see that correct at all....

There are even games that, even been written perfectly, are not showed as a first result, for example "Street Fighter EX2".......


In mameinfo for mame 0.206 I found this line:
"
. UI
    . Improved search function (use algorithm derived from Jaro-Winkler similarity to match search strings)
"
I really don't find any improvement in using that algorithm. Searchings worked better before this.
Steps To Reproduce Just compare searchs in mame 0.205 and any version since mame 0.206
Additional Information
Github Commit
Flags
Regression Version 0.206
Affected Sets / Systems
Attached Files
jpg file icon fail buscador.jpg (141,686 bytes) May 10, 2019, 18:18 Uploaded by MetalGod
MetalGod
jpg file icon fail.jpg (674,166 bytes) Jun 28, 2019, 11:01 Uploaded by MetalGod
MetalGod
Relationships
related to 08142Closed Strange filter results and sort order in the machine list 
related to 08556Confirmed Games having double naming trying find in "search" typing the second name not is listed and other issues 
Notes
15
User avatar
No.16403
Tafoid
Administrator
May 2, 2019, 16:52
I'll have to leave it to cuavas to explain the differences and reasoning behind the search results changes. It is doing it's job, just not focusing on entire hits and giving more variety. Whether or not it is the best way to present searches is yet to be determined. The same fuzzy search I think is part of the suggestions MAME shows when you try to run a non-existent machine or software list entry.
User avatar
No.16405
cuavas
Administrator
May 2, 2019, 17:29
It's based on prefix-weighted edit distance now, and it can match on shortname, manufacturer and description, or description. I'm aware of the weirdness with descriptions that have a long region/version/publisher suffix on them. The reason for this is that the edit distance to the description you're looking for is higher, because of all the extra characters that would have to be added. I realise the algorithm could be improved to better fit the use case, but it's a huge performance improvement over the previous code (search is a lot more responsive), it always gives a perfect match when you type a set name, searching for stuff like "nes" and "neo geo" now gives the results you'd expect, and so does "olivetti m20", and slight misspellings. The old algorithm definitely isn't coming back.

(Using your "golden axe" example, "Golden Axe (set 1, World) (FD1094 317-0110)" has an edit distance of 33 because of all the additional letters on the end, while "Golden Hexa" has an edit distance of 2 because it's just insertion of the "H" and transposition of the "a" and "e". I'm not entirely sure how to solve it in a way that doesn't make it worse at finding the expected result for misspellings, e.g. "thompson" vs "thomson".)
User avatar
No.16407
MetalGod
Senior Tester
May 2, 2019, 22:04
Thanks for the explanation.
Closing then.
User avatar
No.16414
Haze
Senior Tester
May 3, 2019, 13:10
Maybe splitting the longnames into two strings - base name, and version info? could help?
User avatar
No.16448
MetalGod
Senior Tester
May 10, 2019, 18:17
edited on: May 10, 2019, 18:19
Reopening this. This should, at least, be debated.
Adding screenshot
My apologies If I'm wrong and this deserves to be closed.
User avatar
No.16450
Tafoid
Administrator
May 10, 2019, 19:45
Maybe it could be fixed a bit to push the more relevant result to the top, but I do see your term on the list displayed on screen and the 5th entry. I feel the primary change was to allow misspells and other close to actual search terms picking up those terms which a regular exact type search would not.
User avatar
No.16460
ICEknight
Tester
May 13, 2019, 21:21
I do think it's a bit weird that you get more accurate results with "spec +3" or "+3 spec" than typing "Spectrum +3".
User avatar
No.16463
dink
Tester
May 15, 2019, 14:15
The search really is quite horrible now :(
User avatar
No.16465
Fortuna
Tester
May 19, 2019, 06:05
Is right, looks like read only the 1st word and the 2nd like a "nothing"
User avatar
No.19518
cuavas
Administrator
Dec 2, 2021, 14:04
See https://github.com/mamedev/mame/pull/8924 – if people like it better, we can switch search algorithm.
User avatar
No.19520
hap
Developer
Dec 2, 2021, 19:39
Some worse, some better. It's still not good at matching exact substrings.
I tried "super street fighter" for example, Imagine searching that on google and your first page search results is:

Street Fighter II
Tetris Fighters
Cute Fighter
Star Fighter
Star Fighter (v1)
Street Fight (Germany)
Virtua Fighter
Toy Fighter
Space Laser Fight
Super Star Battle
Omega Fighter
Rotary Fighter

And then finally there's an ssf2 set, but it's the Turbo version
User avatar
No.19526
Haze
Senior Tester
Dec 6, 2021, 15:09
Google has the advantage of being weighed by popularity / what people have clicked through before though. For more obscure things, you really can end up on page 12 of the results before you find what you want. (this is more obvious with YouTube)
User avatar
No.21713
ICEknight
Tester
Aug 27, 2023, 15:17
edited on: Aug 27, 2023, 15:26
Can we maybe have a "solve_search_mispellings" option for enabling/disabling any algorithms that don't search for the exact typed words? Or perhaps have the search function just always prioritize all results which include all the entered words as-is (preferably in alphabetical order) and then show the rest as suggestions?

I still see people complaining about MAME's irregular search results four years after this report's submission and things don't seem to have gotten any better since: https://i.imgur.com/zKiiQOb.png
User avatar
No.21717
MetalGod
Senior Tester
Aug 29, 2023, 10:43
Maybe a solution would be to have a button to switch between both kind of searches. For example DEV SEARCH (current) and USER SEARCH (before mame 0.206)
The default search option when opening MAME would be USER SEARCH.
User avatar
No.21718
hap
Developer
Aug 29, 2023, 14:25
No, the current one just needs to be improved.
For example, you could split the strings into 2 or 3 parts:
part 1: main title
part 2: sub title (to the right of ": " or " - ", eg. "The World Warrior" for sf2
part 3: metadata (to the right of "("), eg. "Japan" or "set 2"
Then give the highest value to part 1.

And also, give exact substring matches a higher value.