I want to do general substring search among billions of strings. The requirement is a little different from general fulltext search because I want a query \"ubst\" also can
Lucene is one of the best available options. Lucene supports sub string search so ubst will return substr.
check out http://wiki.apache.org/lucene-java/LuceneImplementations for suitable language implementation.