Kind of a cool naive approach. Would not use this on very large text or for large collections of strings for the most part, it may be usable as part of a systematic map-reduce algorithm.
Another thing to consider would be creation of word stems converted with phonology for comparison, and a relation score instead of true/false. Which would be closer to what search engines actually do.