I like the points system.... Though I might tweak the definition of a full-word. How about "a substring bounded by non-letters (or the ends of the string)". Something like (^|[^A-Za-z])ide([^A-Za-z]|$)
That approach has worked well for me in my search engine attempt. Especially considering titles like 'Using CGI::Cookie with HTML::Template'
Like I said, I don't want to go back to using a regex for simple search and your definition only makes sense for words of letters. And, like I said, I don't really want to get this complicated and figure out and document which cases should have which kind of word boundary rules (consider "don't", "qq'", "'hi'", "0x", "%s", etc.)
Like I said, Super Search will allow more control over boundaries to use with your search terms.
Ah, I see. I thought you were vowing not to accept regular expressions in the user input. Anyway, I like the non-letter boundaries, but sticking with whitespace is almost as good and probably quite a bit quicker.