Yep, been digging around a bit in the guts to figure out how the selectors have been implented. Didn't quite put 2 and 2 together though and figure out it's intended use for matching at the end of text.
In any case, for the code example above it's working fine. BTW, at the moment ^= is doing the same as *=, but $= has its own case.
To try and hack as little as possible I'm going to add a separate handler based on your suggestion of %= into DatabaseQuerySelectFulltext.match to implement the LIKE '%text%'. I should probably add an exception handler to my little search routine to catch the 'Unimplmented operator' WireException in case the core gets updated and my %= case isn't there any more.
Thanks for the info Ryan. Might do a bit of testing on how %= works in more complex selectors and get a patch organised.