With relational databases, you are pretty much left with substring-search (LIKE), which may not be flexible enough, and also only works (efficiently) with short columns (like a title).
So you probably need to use a full text search engine (like Lucene) in addition.
In this case there would be a full-text search index outside of the database that you search for keywords.
Some relational databases have optional full-text-search capabilities for their text columns.
Using these, you can issue your full-text queries using SQL (and even combine it with queries against other columns).
In Oracle it looks something like
SELECT id FROM table WHERE CONTAINS(text_column, 'java AND text', 1) > 0;