I created a suffix tree in Java that allows you easily add your own search functionality and other matching algorithms. My blog post, Suffix Trees in Java, has an overview as well as instructions for downloaded the latest version. My Java implementation is based on Mark Nelson's Fast String Searching With Suffix Trees article.
Update 2016-06-18
- The library containing the suffix tree implementation described above is now available at https://bitbucket.org/globalmentor/globalmentor-core .
- The latest version of the library is available from Maven Central at http://search.maven.org/#search%7Cga%7C1%7Cg%3A%22com.globalmentor%22%20AND%20a%3A%22globalmentor-core%22 .