On the ServerFault user page (https://serverfault.com/users) there is a search box to search for users. There are 2 users with the name "Tom O'Connor" (https://serverfault.com/users/13650/tom-oconnor and https://serverfault.com/users/16732/tom-oconnor). If you type "tom o" into the box you get these two. If you add the next character, '
, then both names disappear. It's almost like it doesn't handle '
's at all.
1 Answer
This was a result of the way SQL Server does full-text indexing, but since we don't use that for user search anymore, this now works!
@waffles implemented another algorithm/data store here that gives us both near-instant searching (we delay 500ms for typing, before your browser even asks) and a few other bonuses: we can do a "contains" search on all site (SO had too many users for this to be speedy with FTS), it's just more speedy in general (~10-15x), as well as edge cases with punctuation like this aren't an issue anymore, since we control the "indexing" happening here.