Unless your data size is small (< a few MB), you probably want something like Apache Lucene, which can be used to index and search large document sets, and can do fuzzy searches using Levenshtein distance and other algorithms for similarity matches.
solved Is there a library in Java for SQL like string searches? [closed]