Still working on it! Well, actually the code's done and it works, but I had to tear a lot of stuff apart to fix this, and I don't want to check it in until I can spend some time testing it. This was sort of an interesting one:
1. This toy lives in a category that is a child of a node called "Cybertron Heroes". We had this marked as a "subline". I won't go into the details of the algorithm that generates the search, but in a nutshell this was winding up in the search string being sent to eBay, and sellers apparently never use the term (presumably because it's either not on the packaging, or is somewhere inconspicuous).
2. To weasel around this, I switched "Cybertron Heroes" from "subline" to "minor", and promoted the child, "Universe" to subline. There's a bit of logic in the search generation algorithm that decides if both the subline and toyline names are needed; if the subline name is not in use by any other toys with the same name but with a different toyline, it uses both the subline name and the toyline name. There were no other toys with a subline name of "universe", so the algo decided it didn't need the toyline name, which produced too broad of a search. An easy tweak was to simply check if the subline name shared the name of any toylines in use by the similar toys (named "optimus prime"), and if it did, include both the toyline and subline.
Does your brain hurt yet? Mine does.
So for this particular toy, the subline was "universe". The only similar toyline was called "universe (2008)", which didn't match, so the toyline was not added to the search string. So I tweaked things such that all parenthetical terms are removed when doing all this figurin'.
"But wait!" you yell. "What about the regular 'universe' toyline?" Yes, it should have turned up a match. It didn't, because when I was working locally I accidentally switched it to "minor".
To make a dumb story short, I fixed everything and it works swell locally, and will check in soon.
I'm glad we could have this talk.